home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / drivers / snk.c < prev    next >
C/C++ Source or Header  |  2000-05-25  |  126KB  |  3,581 lines

  1. /*
  2. snk.c
  3. various SNK triple Z80 games
  4.  
  5. Known Issues:
  6. - sound glitches:
  7.     Touchdown Fever, Fighting Soccer: crashes if Y8950 is used
  8.     Psycho Soldier: some samples aren't played
  9.     Chopper1: YM3812 interferes with Y8950
  10. - consolidate gfx decode/drivers, if possible
  11. - emulate protection (get rid of patches)
  12. - translucency issues in Bermuda Triangle? (see brick tiles in title screen)
  13.  
  14. Bryan McPhail, 27/01/00:
  15.  
  16.   Fixed Gwar, Gwarj, both working properly now.
  17.   Renamed Gwarjp to Gwarj.
  18.   Added Gwara
  19.   Removed strcmp(drv->names) :)
  20.   Made Gwara (the new clone) the main set, and old gwar to gwara.  This is
  21.   because (what is now) gwara seemingly has a different graphics board.  Fix
  22.   chars and scroll registers are in different locations, while gwar (new)
  23.   matches the bootleg and original japanese versions.
  24.  
  25.   Added Bermuda Triangle (alternate), World Wars, these are the 'early'
  26.   versions of the main set with different sprites, gameplay etc.  All roms
  27.   are different except for the samples, technically Bermuda Triangle (Alt)
  28.   is a clone of World Wars rather than the main Bermuda set.
  29.  
  30.   Bermuda Triangle (alt) has some tile banking problems (see attract mode),
  31.   this may also be the cause of the title screen corruption in Bermuda
  32.   Triangle (main set).
  33.  
  34. ****************************************************************************
  35.  
  36. ym3526
  37. Aso, Tank
  38.  
  39. ym3526x2
  40. Athena, Ikari, Fighting Golf
  41.  
  42. ym3526 + y8950
  43. Victory Road, Psycho Soldier, Bermuda Triangle, Touchdown Fever, Guerilla War
  44.  
  45. ym3812 + y8950
  46. Legofair, Chopper1
  47.  
  48. y8950
  49. Fighting Soccer
  50.  
  51. Credits (in alphabetical order)
  52.     Ernesto Corvi
  53.     Carlos A. Lozano
  54.     Jarek Parchanski
  55.     Phil Stroffolino (pjstroff@hotmail.com)
  56.     Victor Trucco
  57.     Marco Cassili
  58.  
  59. ***************************************************************************/
  60.  
  61. #include "driver.h"
  62. #include "vidhrdw/generic.h"
  63. #include "cpu/z80/z80.h"
  64.  
  65. extern void snk_vh_convert_color_prom(unsigned char *palette, unsigned short *colortable,const unsigned char *color_prom);
  66. extern void aso_vh_convert_color_prom(unsigned char *palette, unsigned short *colortable,const unsigned char *color_prom);
  67. extern void ikari_vh_convert_color_prom(unsigned char *palette, unsigned short *colortable,const unsigned char *color_prom);
  68.  
  69. extern int snk_vh_start( void );
  70. extern void snk_vh_stop( void );
  71.  
  72. extern void tnk3_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  73. extern void ikari_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  74. extern void tdfever_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  75. extern void ftsoccer_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  76. extern void gwar_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  77. extern void psychos_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  78.  
  79. /*********************************************************************/
  80.  
  81. #define SNK_NMI_ENABLE    1
  82. #define SNK_NMI_PENDING    2
  83. static int cpuA_latch, cpuB_latch;
  84.  
  85. static unsigned char *shared_ram, *io_ram, *shared_ram2;
  86. extern int snk_bg_tilemap_baseaddr, gwar_sprite_placement;
  87.  
  88. /*********************************************************************/
  89.  
  90. static int hard_flags;
  91.  
  92. #define SNK_MAX_INPUT_PORTS 12
  93.  
  94. typedef enum {
  95.     SNK_UNUSED,
  96.     SNK_INP0,
  97.     SNK_INP1,SNK_INP2,SNK_INP3,SNK_INP4,
  98.     SNK_INP5,SNK_INP6,SNK_INP7,SNK_INP8,
  99.     SNK_INP9,SNK_INP10,
  100.     SNK_ROT8_PLAYER1, SNK_ROT8_PLAYER2,
  101.     SNK_ROT12_PLAYER1, SNK_ROT12_PLAYER2
  102. } SNK_INPUT_PORT_TYPE;
  103.  
  104. static const SNK_INPUT_PORT_TYPE *snk_io; /* input port configuration */
  105.  
  106. static int snk_sound_busy_bit;
  107.  
  108. /*********************************************************************/
  109.  
  110. static int snk_sound_register;
  111. /*
  112.     This 4 bit register is mapped at 0xf800.
  113.  
  114.     Writes to this register always contain 0x0f in the lower nibble.
  115.     The upper nibble contains a mask, which clears bits
  116.  
  117.     bit 0:    set by YM3526/YM3812 callback?
  118.     bit 1:    set by Y8950 callback?
  119.     bit 2:    sound cpu busy
  120.     bit 3:    sound command pending
  121. */
  122.  
  123. /*********************************************************************/
  124.  
  125. static int snk_rot8( int which ){
  126.     const int dial_8[8]   = { 0xf0,0x30,0x10,0x50,0x40,0xc0,0x80,0xa0 };
  127.     int value = readinputport(which+1);
  128.     int joypos16 = value>>4;
  129.     return (value&0xf) | dial_8[joypos16>>1];
  130. }
  131.  
  132. static int snk_rot12( int which ){
  133. /*
  134.     This routine converts a 4 bit (16 directional) analog input to the 12 directional input
  135.     that many SNK games require.
  136. */
  137.     const int dial_12[12] = { 0xb0,0xa0,0x90,0x80,0x70,0x60,0x50,0x40,0x30,0x20,0x10,0x00 };
  138.     int value = readinputport(which+1);
  139.     int joypos16 = value>>4;
  140.  
  141.     static int old_joypos16[2];
  142.     static int joypos12[2];
  143.     int delta = joypos16 - old_joypos16[which];
  144.  
  145.     old_joypos16[which] = joypos16;
  146.  
  147.     if( delta>8 ) delta -= 16; else if( delta<-8 ) delta += 16;
  148.  
  149.     joypos12[which] += delta;
  150.     while( joypos12[which]<0 ) joypos12[which] += 12;
  151.     while( joypos12[which]>=12 ) joypos12[which] -= 12;
  152.  
  153.     return (value&0x0f) | dial_12[joypos12[which]];
  154. }
  155.  
  156. static int snk_input_port_r( int which ){
  157.     switch( snk_io[which] ){
  158.         case SNK_INP0:
  159.         {
  160.             int value = input_port_0_r( 0 );
  161.             if( (snk_sound_register & 0x04) == 0 ) value &= ~snk_sound_busy_bit;
  162.             return value;
  163.         }
  164.  
  165.         case SNK_ROT8_PLAYER1: return snk_rot8( 0 );
  166.         case SNK_ROT8_PLAYER2: return snk_rot8( 1 );
  167.  
  168.         case SNK_ROT12_PLAYER1: return snk_rot12( 0 );
  169.         case SNK_ROT12_PLAYER2: return snk_rot12( 1 );
  170.  
  171.         case SNK_INP1: return input_port_1_r(0);
  172.         case SNK_INP2: return input_port_2_r(0);
  173.         case SNK_INP3: return input_port_3_r(0);
  174.         case SNK_INP4: return input_port_4_r(0);
  175.         case SNK_INP5: return input_port_5_r(0);
  176.         case SNK_INP6: return input_port_6_r(0);
  177.         case SNK_INP7: return input_port_7_r(0);
  178.         case SNK_INP8: return input_port_8_r(0);
  179.         case SNK_INP9: return input_port_9_r(0);
  180.         case SNK_INP10: return input_port_10_r(0);
  181.  
  182.         default:
  183.         logerror("read from unmapped input port:%d\n", which );
  184.         break;
  185.     }
  186.     return 0;
  187. }
  188.  
  189. /*********************************************************************/
  190.  
  191. static WRITE_HANDLER( snk_sound_register_w ){
  192.     snk_sound_register &= (data>>4);
  193. }
  194.  
  195. static READ_HANDLER( snk_sound_register_r ){
  196.     return snk_sound_register;// | 0x2; /* hack; lets chopper1 play music */
  197. }
  198.  
  199. void snk_sound_callback0_w( int state ){ /* ? */
  200.     if( state ) snk_sound_register |= 0x01;
  201. }
  202.  
  203. void snk_sound_callback1_w( int state ){ /* ? */
  204.     if( state ) snk_sound_register |= 0x02;
  205. }
  206.  
  207. static struct YM3526interface ym3526_interface = {
  208.     1,            /* number of chips */
  209.     4000000,    /* 4 MHz */
  210.     { 50 },        /* mixing level */
  211.     { snk_sound_callback0_w } /* ? */
  212. };
  213.  
  214. static struct YM3526interface ym3526_ym3526_interface = {
  215.     2,            /* number of chips */
  216.     4000000,    /* 4 MHz */
  217.     { 50,50 },    /* mixing level */
  218.     { snk_sound_callback0_w, snk_sound_callback1_w } /* ? */
  219. };
  220.  
  221. static struct Y8950interface y8950_interface = {
  222.     1,            /* number of chips */
  223.     4000000,    /* 4 MHz */
  224.     { 50 },        /* mixing level */
  225.     { snk_sound_callback1_w }, /* ? */
  226.     { REGION_SOUND1 }    /* memory region */
  227. };
  228.  
  229. static struct YM3812interface ym3812_interface = {
  230.     1,            /* number of chips */
  231.     4000000,    /* 4 MHz */
  232.     { 50,50 },    /* mixing level */
  233.     { snk_sound_callback0_w } /* ? */
  234. };
  235.  
  236. /*    We don't actually have any games that use two Y8950s,
  237.     but the soundchip implementation misbehaves if we
  238.     declare both a YM3526 and Y8950.
  239.  
  240.     Since Y8950 is a superset of YM3526, this works.
  241. */
  242. static struct Y8950interface ym3526_y8950_interface = {
  243.     2,            /* number of chips */
  244.     4000000,    /* 4 MHz */
  245.     { 50, 50 },        /* mixing level */
  246.     { snk_sound_callback0_w, snk_sound_callback1_w }, /* ? */
  247.     { REGION_SOUND1, REGION_SOUND1 }
  248. };
  249.  
  250. static WRITE_HANDLER( snk_soundlatch_w ){
  251.     snk_sound_register |= 0x08 | 0x04;
  252.     soundlatch_w( offset, data );
  253. }
  254.  
  255. static READ_HANDLER( snk_soundlatch_clear_r ){ /* TNK3 */
  256.     soundlatch_w( 0, 0 );
  257.     snk_sound_register = 0;
  258.     return 0x00;
  259. }
  260.  
  261. /*********************************************************************/
  262.  
  263. static struct MemoryReadAddress YM3526_readmem_sound[] = {
  264.     { 0x0000, 0x7fff, MRA_ROM },
  265.     { 0x8000, 0x87ff, MRA_RAM },
  266.     { 0xa000, 0xa000, soundlatch_r },
  267.     { 0xc000, 0xc000, snk_soundlatch_clear_r },
  268.     { 0xe000, 0xe000, YM3526_status_port_0_r },
  269.     { -1 }
  270. };
  271.  
  272. static struct MemoryWriteAddress YM3526_writemem_sound[] = {
  273.     { 0x0000, 0x7fff, MWA_ROM },
  274.     { 0x8000, 0x87ff, MWA_RAM },
  275.     { 0xe000, 0xe000, YM3526_control_port_0_w },
  276.     { 0xe001, 0xe001, YM3526_write_port_0_w },
  277.     { -1 }
  278. };
  279.  
  280. static struct MemoryReadAddress YM3526_YM3526_readmem_sound[] = {
  281.     { 0x0000, 0xbfff, MRA_ROM },
  282.     { 0xc000, 0xcfff, MRA_RAM },
  283.     { 0xe000, 0xe000, soundlatch_r },
  284.     { 0xe800, 0xe800, YM3526_status_port_0_r },
  285.     { 0xf000, 0xf000, YM3526_status_port_1_r },
  286.     { 0xf800, 0xf800, snk_sound_register_r },
  287.     { -1 }
  288. };
  289.  
  290. static struct MemoryWriteAddress YM3526_YM3526_writemem_sound[] = {
  291.     { 0x0000, 0xbfff, MWA_ROM },
  292.     { 0xc000, 0xcfff, MWA_RAM },
  293.     { 0xe800, 0xe800, YM3526_control_port_0_w },
  294.     { 0xec00, 0xec00, YM3526_write_port_0_w },
  295.     { 0xf000, 0xf000, YM3526_control_port_1_w },
  296.     { 0xf400, 0xf400, YM3526_write_port_1_w },
  297.     { 0xf800, 0xf800, snk_sound_register_w },
  298.     { -1 }
  299. };
  300.  
  301. static struct MemoryReadAddress YM3526_Y8950_readmem_sound[] = {
  302.     { 0x0000, 0xbfff, MRA_ROM },
  303.     { 0xc000, 0xcfff, MRA_RAM },
  304.     { 0xe000, 0xe000, soundlatch_r },
  305.     { 0xe800, 0xe800, Y8950_status_port_0_r }, // YM3526_status_port_0_r
  306.     { 0xf000, 0xf000, Y8950_status_port_1_r },
  307.     { 0xf800, 0xf800, snk_sound_register_r },
  308.     { -1 }
  309. };
  310.  
  311. static struct MemoryWriteAddress YM3526_Y8950_writemem_sound[] = {
  312.     { 0x0000, 0xbfff, MWA_ROM },
  313.     { 0xc000, 0xcfff, MWA_RAM },
  314.     { 0xe800, 0xe800, Y8950_control_port_0_w }, // YM3526_control_port_0_w
  315.     { 0xec00, 0xec00, Y8950_write_port_0_w }, // YM3526_write_port_0_w
  316.     { 0xf000, 0xf000, Y8950_control_port_1_w },
  317.     { 0xf400, 0xf400, Y8950_write_port_1_w },
  318.     { 0xf800, 0xf800, snk_sound_register_w },
  319.     { -1 }
  320. };
  321.  
  322. static struct MemoryReadAddress YM3812_Y8950_readmem_sound[] = {
  323.     { 0x0000, 0xbfff, MRA_ROM },
  324.     { 0xc000, 0xcfff, MRA_RAM },
  325.     { 0xe000, 0xe000, soundlatch_r },
  326.     { 0xe800, 0xe800, YM3812_status_port_0_r },
  327.     { 0xf000, 0xf000, Y8950_status_port_0_r },
  328.     { 0xf800, 0xf800, snk_sound_register_r },
  329.     { -1 }
  330. };
  331.  
  332. static struct MemoryWriteAddress YM3812_Y8950_writemem_sound[] = {
  333.     { 0x0000, 0xbfff, MWA_ROM },
  334.     { 0xc000, 0xcfff, MWA_RAM },
  335.     { 0xe800, 0xe800, YM3812_control_port_0_w },
  336.     { 0xec00, 0xec00, YM3812_write_port_0_w },
  337.     { 0xf000, 0xf000, Y8950_control_port_0_w },
  338.     { 0xf400, 0xf400, Y8950_write_port_0_w },
  339.     { 0xf800, 0xf800, snk_sound_register_w },
  340.     { -1 }
  341. };
  342.  
  343. static struct MemoryReadAddress Y8950_readmem_sound[] = {
  344.     { 0x0000, 0xbfff, MRA_ROM },
  345.     { 0xc000, 0xcfff, MRA_RAM },
  346.     { 0xe000, 0xe000, soundlatch_r },
  347.     { 0xf000, 0xf000, YM3526_status_port_0_r },
  348. //    { 0xf000, 0xf000, Y8950_status_port_0_r },
  349.     { 0xf800, 0xf800, snk_sound_register_r },
  350.     { -1 }
  351. };
  352.  
  353. static struct MemoryWriteAddress Y8950_writemem_sound[] = {
  354.     { 0x0000, 0xbfff, MWA_ROM },
  355.     { 0xc000, 0xcfff, MWA_RAM },
  356.     { 0xf000, 0xf000, YM3526_control_port_0_w },
  357.     { 0xf400, 0xf400, YM3526_write_port_0_w },
  358. //    { 0xf000, 0xf000, Y8950_control_port_0_w },
  359. //    { 0xf400, 0xf400, Y8950_write_port_0_w },
  360.     { 0xf800, 0xf800, snk_sound_register_w },
  361.     { -1 }
  362. };
  363.  
  364. /**********************  Tnk3, Athena, Fighting Golf ********************/
  365.  
  366. static READ_HANDLER( shared_ram_r ){
  367.     return shared_ram[offset];
  368. }
  369. static WRITE_HANDLER( shared_ram_w ){
  370.     shared_ram[offset] = data;
  371. }
  372.  
  373. static READ_HANDLER( shared_ram2_r ){
  374.     return shared_ram2[offset];
  375. }
  376. static WRITE_HANDLER( shared_ram2_w ){
  377.     shared_ram2[offset] = data;
  378. }
  379.  
  380. static READ_HANDLER( cpuA_io_r ){
  381.     switch( offset ){
  382.         case 0x000: return snk_input_port_r( 0 ); // coin input, player start
  383.         case 0x100: return snk_input_port_r( 1 ); // joy1
  384.         case 0x180: return snk_input_port_r( 2 ); // joy2
  385.         case 0x200: return snk_input_port_r( 3 ); // joy3
  386.         case 0x280: return snk_input_port_r( 4 ); // joy4
  387.         case 0x300: return snk_input_port_r( 5 ); // aim1
  388.         case 0x380: return snk_input_port_r( 6 ); // aim2
  389.         case 0x400: return snk_input_port_r( 7 ); // aim3
  390.         case 0x480: return snk_input_port_r( 8 ); // aim4
  391.         case 0x500: return snk_input_port_r( 9 ); // unused by tdfever
  392.         case 0x580: return snk_input_port_r( 10); // dsw
  393.         case 0x600: return snk_input_port_r( 11 ); // dsw
  394.  
  395.         case 0x700:
  396.         if( cpuB_latch & SNK_NMI_ENABLE ){
  397.             cpu_cause_interrupt( 1, Z80_NMI_INT );
  398.             cpuB_latch = 0;
  399.         }
  400.         else {
  401.             cpuB_latch |= SNK_NMI_PENDING;
  402.         }
  403.         return 0xff;
  404.  
  405.         /* "Hard Flags" */
  406.         case 0xe00:
  407.         case 0xe20:
  408.         case 0xe40:
  409.         case 0xe60:
  410.         case 0xe80:
  411.         case 0xea0:
  412.         case 0xee0: if( hard_flags ) return 0xff;
  413.     }
  414.     return io_ram[offset];
  415. }
  416.  
  417. static WRITE_HANDLER( cpuA_io_w ){
  418.     switch( offset ){
  419.         case 0x000:
  420.         break;
  421.  
  422.         case 0x400: /* most games */
  423.         case 0x500: /* tdfever */
  424.         snk_soundlatch_w( 0, data );
  425.         break;
  426.  
  427.         case 0x700:
  428.         if( cpuA_latch&SNK_NMI_PENDING ){
  429.             cpu_cause_interrupt( 0, Z80_NMI_INT );
  430.             cpuA_latch = 0;
  431.         }
  432.         else {
  433.             cpuA_latch |= SNK_NMI_ENABLE;
  434.         }
  435.         break;
  436.  
  437.         default:
  438.         io_ram[offset] = data;
  439.         break;
  440.     }
  441. }
  442.  
  443. static READ_HANDLER( cpuB_io_r ){
  444.     switch( offset ){
  445.         case 0x000:
  446.         case 0x700:
  447.         if( cpuA_latch & SNK_NMI_ENABLE ){
  448.             cpu_cause_interrupt( 0, Z80_NMI_INT );
  449.             cpuA_latch = 0;
  450.         }
  451.         else {
  452.             cpuA_latch |= SNK_NMI_PENDING;
  453.         }
  454.         return 0xff;
  455.  
  456.         /* "Hard Flags" they are needed here, otherwise ikarijp/b doesn't work right */
  457.         case 0xe00:
  458.         case 0xe20:
  459.         case 0xe40:
  460.         case 0xe60:
  461.         case 0xe80:
  462.         case 0xea0:
  463.         case 0xee0: if( hard_flags ) return 0xff;
  464.     }
  465.     return io_ram[offset];
  466. }
  467.  
  468. static WRITE_HANDLER( cpuB_io_w ){
  469.     if( offset==0 || offset==0x700 ){
  470.         if( cpuB_latch&SNK_NMI_PENDING ){
  471.             cpu_cause_interrupt( 1, Z80_NMI_INT );
  472.             cpuB_latch = 0;
  473.         }
  474.         else {
  475.             cpuB_latch |= SNK_NMI_ENABLE;
  476.         }
  477.         return;
  478.     }
  479.     io_ram[offset] = data;
  480. }
  481.  
  482. /**********************  Tnk3, Athena, Fighting Golf ********************/
  483.  
  484. static struct MemoryReadAddress tnk3_readmem_cpuA[] =
  485. {
  486.     { 0x0000, 0xbfff, MRA_ROM },
  487.     { 0xc000, 0xcfff, cpuA_io_r },
  488.     { 0xd000, 0xf7ff, MRA_RAM },
  489.     { 0xf800, 0xffff, MRA_RAM },
  490.     { -1 }
  491. };
  492. static struct MemoryWriteAddress tnk3_writemem_cpuA[] =
  493. {
  494.     { 0x0000, 0xbfff, MWA_ROM },
  495.     { 0xc000, 0xcfff, cpuA_io_w, &io_ram },
  496.     { 0xd000, 0xf7ff, MWA_RAM, &shared_ram2 },
  497.     { 0xf800, 0xffff, MWA_RAM, &shared_ram },
  498.     { -1 }
  499. };
  500.  
  501. static struct MemoryReadAddress tnk3_readmem_cpuB[] =
  502. {
  503.     { 0x0000, 0xbfff, MRA_ROM },
  504.     { 0xc000, 0xc7ff, cpuB_io_r },
  505.     { 0xc800, 0xefff, shared_ram2_r },
  506.     { 0xf000, 0xf7ff, MRA_RAM },
  507.     { 0xf800, 0xffff, shared_ram_r },
  508.     { -1 }
  509. };
  510. static struct MemoryWriteAddress tnk3_writemem_cpuB[] =
  511. {
  512.     { 0x0000, 0xbfff, MWA_ROM },
  513.     { 0xc000, 0xc7ff, cpuB_io_w },
  514.     { 0xc800, 0xefff, shared_ram2_w },
  515.     { 0xf000, 0xf7ff, MWA_RAM },
  516.     { 0xf800, 0xffff, shared_ram_w },
  517.     { -1 }
  518. };
  519.  
  520.  
  521. /* Chopper I, T.D.Fever, Psycho S., Bermuda T. */
  522.  
  523. static struct MemoryReadAddress readmem_cpuA[] =
  524. {
  525.     { 0x0000, 0xbfff, MRA_ROM },
  526.     { 0xc000, 0xcfff, cpuA_io_r },
  527.     { 0xd000, 0xffff, MRA_RAM },
  528.     { -1 }
  529. };
  530. static struct MemoryWriteAddress writemem_cpuA[] =
  531. {
  532.     { 0x0000, 0xbfff, MWA_ROM },
  533.     { 0xc000, 0xcfff, cpuA_io_w, &io_ram },
  534.     { 0xd000, 0xffff, MWA_RAM, &shared_ram },
  535.     { -1 }
  536. };
  537.  
  538. static struct MemoryReadAddress readmem_cpuB[] =
  539. {
  540.     { 0x0000, 0xbfff, MRA_ROM },
  541.     { 0xc000, 0xcfff, cpuB_io_r },
  542.     { 0xd000, 0xffff, shared_ram_r },
  543.     { -1 }
  544. };
  545. static struct MemoryWriteAddress writemem_cpuB[] =
  546. {
  547.     { 0x0000, 0xbfff, MWA_ROM },
  548.     { 0xc000, 0xcfff, cpuB_io_w },
  549.     { 0xd000, 0xffff, shared_ram_w },
  550.     { -1 }
  551. };
  552.  
  553. /*********************************************************************/
  554.  
  555. static struct GfxLayout char512 =
  556. {
  557.     8,8,
  558.     512,
  559.     4,
  560.     { 0, 1, 2, 3 },
  561.     { 4, 0, 12, 8, 20, 16, 28, 24},
  562.     { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
  563.     256
  564. };
  565.  
  566. static struct GfxLayout char1024 =
  567. {
  568.     8,8,
  569.     1024,
  570.     4,
  571.     { 0, 1, 2, 3 },
  572.     { 4, 0, 12, 8, 20, 16, 28, 24},
  573.     { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
  574.     256
  575. };
  576.  
  577. static struct GfxLayout tile1024 =
  578. {
  579.     16,16,
  580.     1024,
  581.     4,
  582.     { 0, 1, 2, 3 },
  583.     { 4, 0, 12, 8, 20, 16, 28, 24,
  584.         32+4, 32+0, 32+12, 32+8, 32+20, 32+16, 32+28, 32+24, },
  585.     { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
  586.         8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
  587.     128*8
  588. };
  589.  
  590. static struct GfxLayout tile2048 =
  591. {
  592.     16,16,
  593.     2048,
  594.     4,
  595.     { 0, 1, 2, 3 },
  596.     { 4, 0, 12, 8, 20, 16, 28, 24,
  597.         32+4, 32+0, 32+12, 32+8, 32+20, 32+16, 32+28, 32+24, },
  598.     { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
  599.         8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
  600.     128*8
  601. };
  602.  
  603. static struct GfxLayout tdfever_tiles =
  604. {
  605.     16,16,
  606.     512*5,
  607.     4,
  608.     { 0, 1, 2, 3 },
  609.     { 4, 0, 12, 8, 20, 16, 28, 24,
  610.         32+4, 32+0, 32+12, 32+8, 32+20, 32+16, 32+28, 32+24, },
  611.     { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
  612.         8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
  613.     128*8
  614. };
  615.  
  616. static struct GfxLayout sprite512 =
  617. {
  618.     16,16,
  619.     512,
  620.     3,
  621.     { 2*1024*256, 1*1024*256, 0*1024*256 },
  622.     { 7,6,5,4,3,2,1,0, 15,14,13,12,11,10,9,8 },
  623.     { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
  624.         8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
  625.     256
  626. };
  627.  
  628. static struct GfxLayout sprite1024 =
  629. {
  630.     16,16,
  631.     1024,
  632.     3,
  633.     { 2*1024*256,1*1024*256,0*1024*256 },
  634.     { 7,6,5,4,3,2,1,0, 15,14,13,12,11,10,9,8 },
  635.     { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
  636.         8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
  637.     256
  638. };
  639.  
  640. static struct GfxLayout big_sprite512 =
  641. {
  642.     32,32,
  643.     512,
  644.     3,
  645.     { 2*2048*256,1*2048*256,0*2048*256 },
  646.     {
  647.         7,6,5,4,3,2,1,0,
  648.         15,14,13,12,11,10,9,8,
  649.         23,22,21,20,19,18,17,16,
  650.         31,30,29,28,27,26,25,24
  651.     },
  652.     {
  653.         0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
  654.         8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32,
  655.         16*32+0*32, 16*32+1*32, 16*32+2*32, 16*32+3*32,
  656.         16*32+4*32, 16*32+5*32, 16*32+6*32, 16*32+7*32,
  657.         16*32+8*32, 16*32+9*32, 16*32+10*32, 16*32+11*32,
  658.         16*32+12*32, 16*32+13*32, 16*32+14*32, 16*32+15*32,
  659.     },
  660.     16*32*2
  661. };
  662.  
  663. static struct GfxLayout gwar_sprite1024 =
  664. {
  665.     16,16,
  666.     1024,
  667.     4,
  668.     { 3*2048*256,2*2048*256,1*2048*256,0*2048*256 },
  669.     {
  670.         8,9,10,11,12,13,14,15,
  671.         0,1,2,3,4,5,6,7
  672.     },
  673.     { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
  674.             8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
  675.     256
  676. };
  677.  
  678. static struct GfxLayout gwar_sprite2048 =
  679. {
  680.     16,16,
  681.     2048,
  682.     4,
  683.     {  3*2048*256,2*2048*256,1*2048*256,0*2048*256 },
  684.     { 8,9,10,11,12,13,14,15, 0,1,2,3,4,5,6,7 },
  685.     { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
  686.             8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
  687.     256
  688. };
  689.  
  690. static struct GfxLayout gwar_big_sprite1024 =
  691. {
  692.     32,32,
  693.     1024,
  694.     4,
  695.     { 3*1024*1024, 2*1024*1024, 1*1024*1024, 0*1024*1024 },
  696.     {
  697.         24,25,26,27,28,29,30,31,
  698.         16,17,18,19,20,21,22,23,
  699.         8,9,10,11,12,13,14,15,
  700.         0,1,2,3,4,5,6,7
  701.     },
  702.     {
  703.         0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
  704.         8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32,
  705.         16*32+0*32, 16*32+1*32, 16*32+2*32, 16*32+3*32,
  706.         16*32+4*32, 16*32+5*32, 16*32+6*32, 16*32+7*32,
  707.         16*32+8*32, 16*32+9*32, 16*32+10*32, 16*32+11*32,
  708.         16*32+12*32, 16*32+13*32, 16*32+14*32, 16*32+15*32,
  709.     },
  710.     1024
  711. };
  712.  
  713. static struct GfxLayout tdfever_big_sprite1024 =
  714. {
  715.     32,32,
  716.     1024,
  717.     4,
  718.     { 0*0x100000, 1*0x100000, 2*0x100000, 3*0x100000 },
  719.     {
  720.         7,6,5,4,3,2,1,0,
  721.         15,14,13,12,11,10,9,8,
  722.         23,22,21,20,19,18,17,16,
  723.         31,30,29,28,27,26,25,24
  724.     },
  725.     {
  726.         0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
  727.         8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32,
  728.         16*32+0*32, 16*32+1*32, 16*32+2*32, 16*32+3*32,
  729.         16*32+4*32, 16*32+5*32, 16*32+6*32, 16*32+7*32,
  730.         16*32+8*32, 16*32+9*32, 16*32+10*32, 16*32+11*32,
  731.         16*32+12*32, 16*32+13*32, 16*32+14*32, 16*32+15*32,
  732.     },
  733.     1024
  734. };
  735.  
  736. /*********************************************************************/
  737.  
  738. static struct GfxDecodeInfo tnk3_gfxdecodeinfo[] =
  739. {
  740.     { REGION_GFX1, 0x0, &char512,    128*3,  8 },
  741.     { REGION_GFX2, 0x0, &char1024,    128*1, 16 },
  742.     { REGION_GFX3, 0x0, &sprite512,    128*0, 16 },
  743.     { -1 }
  744. };
  745.  
  746. static struct GfxDecodeInfo athena_gfxdecodeinfo[] =
  747. {
  748.     /* colors 512-1023 are currently unused, I think they are a second bank */
  749.     { REGION_GFX1, 0x0, &char512,    128*3,  8 },    /* colors 384..511 */
  750.     { REGION_GFX2, 0x0, &char1024,   128*1, 16 },    /* colors 128..383 */
  751.     { REGION_GFX3, 0x0, &sprite1024,        0, 16 },    /* colors   0..127 */
  752.     { -1 }
  753. };
  754.  
  755. static struct GfxDecodeInfo ikari_gfxdecodeinfo[] =
  756. {
  757.     { REGION_GFX1, 0x0, &char512,             256, 16 },
  758.     { REGION_GFX2, 0x0, &tile1024,            256, 16 },
  759.     { REGION_GFX3, 0x0, &sprite1024,            0, 16 },
  760.     { REGION_GFX4, 0x0, &big_sprite512,       128, 16 },
  761.     { -1 }
  762. };
  763.  
  764. static struct GfxDecodeInfo gwar_gfxdecodeinfo[] =
  765. {
  766.     { REGION_GFX1, 0x0, &char1024,             256*0, 16 },
  767.     { REGION_GFX2, 0x0, &tile2048,             256*3, 16 },
  768.     { REGION_GFX3, 0x0, &gwar_sprite2048,      256*1, 16 },
  769.     { REGION_GFX4, 0x0, &gwar_big_sprite1024,  256*2, 16 },
  770.     { -1 }
  771. };
  772.  
  773. static struct GfxDecodeInfo bermudat_gfxdecodeinfo[] =
  774. {
  775.     { REGION_GFX1, 0x0, &char1024,             256*0, 16 },
  776.     { REGION_GFX2, 0x0, &tile2048,             256*3, 16 },
  777.     { REGION_GFX3, 0x0, &gwar_sprite1024,      256*1, 16 },
  778.     { REGION_GFX4, 0x0, &gwar_big_sprite1024,  256*2, 16 },
  779.     { -1 }
  780. };
  781.  
  782. static struct GfxDecodeInfo psychos_gfxdecodeinfo[] =
  783. {
  784.     { REGION_GFX1, 0x0, &char1024,             256*0, 16 },
  785.     { REGION_GFX2, 0x0, &tile2048,             256*3, 16 },
  786.     { REGION_GFX3, 0x0, &gwar_sprite1024,      256*1, 16 },
  787.     { REGION_GFX4, 0x0, &gwar_big_sprite1024,  256*2, 16 },
  788.     { -1 }
  789. };
  790.  
  791. static struct GfxDecodeInfo tdfever_gfxdecodeinfo[] =
  792. {
  793.     { REGION_GFX1, 0x0, &char1024,                    256*0, 16 },
  794.     { REGION_GFX2, 0x0, &tdfever_tiles,                256*2, 16 },
  795.     { REGION_GFX3, 0x0, &tdfever_big_sprite1024,    256*1, 16 },
  796.     { -1 }
  797. };
  798.  
  799.  
  800. /**********************************************************************/
  801.  
  802. static struct MachineDriver machine_driver_tnk3 =
  803. {
  804.     {
  805.         {
  806.             CPU_Z80,
  807.             4000000, /* ? */
  808.             tnk3_readmem_cpuA,tnk3_writemem_cpuA,0,0,
  809.             interrupt,1
  810.         },
  811.         {
  812.             CPU_Z80,
  813.             4000000, /* ? */
  814.             tnk3_readmem_cpuB,tnk3_writemem_cpuB,0,0,
  815.             interrupt,1
  816.         },
  817.         {
  818.             CPU_Z80 | CPU_AUDIO_CPU,
  819.             4000000,    /* 4 Mhz (?) */
  820.             YM3526_readmem_sound,YM3526_writemem_sound,0,0,
  821.             interrupt,2 /* ? */
  822.         },
  823.     },
  824.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  825.     100,    /* CPU slices per frame */
  826.     0, /* init machine */
  827.  
  828.     /* video hardware */
  829.     36*8, 28*8, { 0*8, 36*8-1, 1*8, 28*8-1 },
  830.  
  831.     tnk3_gfxdecodeinfo,
  832.     1024,1024,
  833.     aso_vh_convert_color_prom,
  834.  
  835.     VIDEO_TYPE_RASTER,
  836.     0,
  837.     snk_vh_start,
  838.     snk_vh_stop,
  839.     tnk3_vh_screenrefresh,
  840.  
  841.     /* sound hardware */
  842.     0,0,0,0,
  843.     {
  844.         {
  845.             SOUND_YM3526,
  846.             &ym3526_interface
  847.         }
  848.     }
  849. };
  850.  
  851. static struct MachineDriver machine_driver_athena =
  852. /* mostly identical to TNK3, but with an aditional YM3526 */
  853. {
  854.     {
  855.         {
  856.             CPU_Z80,
  857.             4000000, /* ? */
  858.             tnk3_readmem_cpuA,tnk3_writemem_cpuA,0,0,
  859.             interrupt,1
  860.         },
  861.         {
  862.             CPU_Z80,
  863.             4000000, /* ? */
  864.             tnk3_readmem_cpuB,tnk3_writemem_cpuB,0,0,
  865.             interrupt,1
  866.         },
  867.         {
  868.             CPU_Z80 | CPU_AUDIO_CPU,
  869.             4000000,    /* 4 Mhz (?) */
  870.             YM3526_YM3526_readmem_sound,YM3526_YM3526_writemem_sound,0,0,
  871.             interrupt,1
  872.         },
  873.  
  874.     },
  875.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  876.     600,    /* CPU slices per frame */
  877.     0, /* init machine */
  878.  
  879.     /* video hardware */
  880.     36*8, 28*8, { 0*8, 36*8-1, 1*8, 28*8-1 },
  881.  
  882.     athena_gfxdecodeinfo,
  883.     1024,1024,
  884.     aso_vh_convert_color_prom,
  885.  
  886.     VIDEO_TYPE_RASTER,
  887.     0,
  888.     snk_vh_start,
  889.     snk_vh_stop,
  890.     tnk3_vh_screenrefresh,  //athena_vh...
  891.  
  892.     /* sound hardware */
  893.     0,0,0,0,
  894.     {
  895.         {
  896.             SOUND_YM3526,
  897.             &ym3526_ym3526_interface
  898.         }
  899.     }
  900. };
  901.  
  902. static struct MachineDriver machine_driver_ikari =
  903. {
  904.     {
  905.         {
  906.             CPU_Z80,
  907.             4000000,    /* 4.0 Mhz (?) */
  908.             readmem_cpuA,writemem_cpuA,0,0,
  909.             interrupt,1
  910.         },
  911.         {
  912.             CPU_Z80,
  913.             4000000,    /* 4.0 Mhz (?) */
  914.             readmem_cpuB,writemem_cpuB,0,0,
  915.             interrupt,1
  916.         },
  917.         {
  918.             CPU_Z80 | CPU_AUDIO_CPU,
  919.             4000000,    /* 4 Mhz (?) */
  920.             YM3526_YM3526_readmem_sound,YM3526_YM3526_writemem_sound,0,0,
  921.             interrupt,1
  922.         },
  923.     },
  924.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  925.     100,    /* CPU slices per frame */
  926.     0, /* init machine */
  927.  
  928.     /* video hardware */
  929.     36*8, 28*8, { 0*8, 36*8-1, 1*8, 28*8-1 },
  930.  
  931.     ikari_gfxdecodeinfo,
  932.     1024,1024,
  933.     ikari_vh_convert_color_prom,
  934.  
  935.     VIDEO_TYPE_RASTER,
  936.     0,
  937.     snk_vh_start,
  938.     snk_vh_stop,
  939.     ikari_vh_screenrefresh,
  940.  
  941.     /* sound hardware */
  942.     0,0,0,0,
  943.     {
  944.         {
  945.             SOUND_YM3526,
  946.             &ym3526_ym3526_interface
  947.         }
  948.     }
  949. };
  950.  
  951. static struct MachineDriver machine_driver_victroad =
  952. /* identical to Ikari Warriors, but sound system replaces one of the YM3526 with Y8950 */
  953. {
  954.     {
  955.         {
  956.             CPU_Z80,
  957.             4000000,    /* 4.0 Mhz (?) */
  958.             readmem_cpuA,writemem_cpuA,0,0,
  959.             interrupt,1
  960.         },
  961.         {
  962.             CPU_Z80,
  963.             4000000,    /* 4.0 Mhz (?) */
  964.             readmem_cpuB,writemem_cpuB,0,0,
  965.             interrupt,1
  966.         },
  967.         {
  968.             CPU_Z80 | CPU_AUDIO_CPU,
  969.             4000000,    /* 4 Mhz (?) */
  970.             YM3526_Y8950_readmem_sound,YM3526_Y8950_writemem_sound,0,0,
  971.             interrupt,1
  972.         },
  973.     },
  974.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  975.     100,    /* CPU slices per frame */
  976.     0, /* init machine */
  977.  
  978.     /* video hardware */
  979.     36*8, 28*8, { 0*8, 36*8-1, 1*8, 28*8-1 },
  980.  
  981.     ikari_gfxdecodeinfo,
  982.     1024,1024,
  983.     ikari_vh_convert_color_prom,
  984.  
  985.     VIDEO_TYPE_RASTER,
  986.     0,
  987.     snk_vh_start,
  988.     snk_vh_stop,
  989.     ikari_vh_screenrefresh,
  990.  
  991.     /* sound hardware */
  992.     0,0,0,0,
  993.     {
  994.         {
  995.             SOUND_Y8950,
  996.             &ym3526_y8950_interface
  997.         }
  998.     }
  999. };
  1000.  
  1001. static struct MachineDriver machine_driver_gwar =
  1002. {
  1003.     {
  1004.         {
  1005.             CPU_Z80,
  1006.             4000000,    /* 4.0 Mhz (?) */
  1007.             readmem_cpuA,writemem_cpuA,0,0,
  1008.             interrupt,1
  1009.         },
  1010.         {
  1011.             CPU_Z80,
  1012.             4000000,    /* 4.0 Mhz (?) */
  1013.             readmem_cpuB,writemem_cpuB,0,0,
  1014.             interrupt,1
  1015.         },
  1016.         {
  1017.             CPU_Z80 | CPU_AUDIO_CPU,
  1018.             4000000,    /* 4 Mhz (?) */
  1019.             YM3526_Y8950_readmem_sound,YM3526_Y8950_writemem_sound,0,0,
  1020.             interrupt,1
  1021.         },
  1022.     },
  1023.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  1024.     100,    /* CPU slices per frame */
  1025.     0, /* init machine */
  1026.  
  1027.     /* video hardware */
  1028.     384, 240, { 16, 383,0, 239-16 },
  1029.     gwar_gfxdecodeinfo,
  1030.     1024,1024,
  1031.     snk_vh_convert_color_prom,
  1032.  
  1033.     VIDEO_TYPE_RASTER,
  1034.     0,
  1035.     snk_vh_start,
  1036.     snk_vh_stop,
  1037.     gwar_vh_screenrefresh,
  1038.  
  1039.     /* sound hardware */
  1040.     0,0,0,0,
  1041.     {
  1042.         {
  1043.             SOUND_Y8950,
  1044.             &ym3526_y8950_interface
  1045.         }
  1046.     }
  1047. };
  1048.  
  1049. static struct MachineDriver machine_driver_bermudat =
  1050. {
  1051.     {
  1052.         {
  1053.             CPU_Z80,
  1054.             4000000,    /* 4.0 Mhz (?) */
  1055.             readmem_cpuA,writemem_cpuA,0,0,
  1056.             interrupt,1
  1057.         },
  1058.         {
  1059.             CPU_Z80,
  1060.             4000000,    /* 4.0 Mhz (?) */
  1061.             readmem_cpuB,writemem_cpuB,0,0,
  1062.             interrupt,1
  1063.         },
  1064.         {
  1065.             CPU_Z80 | CPU_AUDIO_CPU,
  1066.             4000000,    /* 4 Mhz (?) */
  1067.             YM3526_Y8950_readmem_sound,YM3526_Y8950_writemem_sound,0,0,
  1068.             interrupt,1
  1069.         },
  1070.     },
  1071.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  1072.     100,    /* CPU slices per frame */
  1073.     0, /* init machine */
  1074.  
  1075.     /* video hardware */
  1076.     384, 240, { 16, 383,0, 239-16 },
  1077.     bermudat_gfxdecodeinfo,
  1078.     1024,1024,
  1079.     snk_vh_convert_color_prom,
  1080.  
  1081.     VIDEO_TYPE_RASTER,
  1082.     0,
  1083.     snk_vh_start,
  1084.     snk_vh_stop,
  1085.     gwar_vh_screenrefresh,
  1086.  
  1087.     /* sound hardware */
  1088.     0,0,0,0,
  1089.     {
  1090.         {
  1091.             SOUND_Y8950,
  1092.             &ym3526_y8950_interface
  1093.         }
  1094.     }
  1095. };
  1096.  
  1097. static struct MachineDriver machine_driver_psychos =
  1098. {
  1099.     {
  1100.         {
  1101.             CPU_Z80,
  1102.             4000000,    /* 4.0 Mhz (?) */
  1103.             readmem_cpuA,writemem_cpuA,0,0,
  1104.             interrupt,1
  1105.         },
  1106.         {
  1107.             CPU_Z80,
  1108.             4000000,    /* 4.0 Mhz (?) */
  1109.             readmem_cpuB,writemem_cpuB,0,0,
  1110.             interrupt,1
  1111.         },
  1112.         {
  1113.             CPU_Z80 | CPU_AUDIO_CPU,
  1114.             4000000,    /* 4 Mhz (?) */
  1115.             YM3526_Y8950_readmem_sound,YM3526_Y8950_writemem_sound,0,0,
  1116.             interrupt,1
  1117.         },
  1118.     },
  1119.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  1120.     100,    /* CPU slices per frame */
  1121.     0, /* init machine */
  1122.  
  1123.     /* video hardware */
  1124.     384, 240, { 0, 383, 0, 239-16 },
  1125.     psychos_gfxdecodeinfo,
  1126.     1024,1024,
  1127.     snk_vh_convert_color_prom,
  1128.  
  1129.     VIDEO_TYPE_RASTER,
  1130.     0,
  1131.     snk_vh_start,
  1132.     snk_vh_stop,
  1133.     gwar_vh_screenrefresh,
  1134.  
  1135.     /* sound hardware */
  1136.     0,0,0,0,
  1137.     {
  1138.         {
  1139.             SOUND_Y8950,
  1140.             &ym3526_y8950_interface
  1141.         }
  1142.     }
  1143. };
  1144.  
  1145. static struct MachineDriver machine_driver_chopper1 =
  1146. {
  1147.     {
  1148.         {
  1149.             CPU_Z80,
  1150.             4000000,    /* 4.0 Mhz (?) */
  1151.             readmem_cpuA,writemem_cpuA,0,0,
  1152.             interrupt,1
  1153.         },
  1154.         {
  1155.             CPU_Z80,
  1156.             4000000,    /* 4.0 Mhz (?) */
  1157.             readmem_cpuB,writemem_cpuB,0,0,
  1158.             interrupt,1
  1159.         },
  1160.         {
  1161.             CPU_Z80 | CPU_AUDIO_CPU,
  1162.             4000000,    /* 4 Mhz (?) */
  1163.             YM3812_Y8950_readmem_sound,YM3812_Y8950_writemem_sound,0,0,
  1164.             interrupt,1
  1165.         },
  1166.     },
  1167.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  1168.     100,    /* CPU slices per frame */
  1169.     0, /* init machine */
  1170.  
  1171.     /* video hardware */
  1172.     384, 240, { 0, 383, 0, 239-16 },
  1173.     psychos_gfxdecodeinfo,
  1174.     1024,1024,
  1175.     snk_vh_convert_color_prom,
  1176.  
  1177.     VIDEO_TYPE_RASTER,
  1178.     0,
  1179.     snk_vh_start,
  1180.     snk_vh_stop,
  1181.     gwar_vh_screenrefresh,
  1182.  
  1183.     /* sound hardware */
  1184.     0,0,0,0,
  1185.     {
  1186.         {
  1187.             SOUND_YM3812,
  1188.             &ym3812_interface
  1189.         },
  1190.         {
  1191.             SOUND_Y8950,
  1192.             &y8950_interface
  1193.         }
  1194.     }
  1195. };
  1196.  
  1197. static struct MachineDriver machine_driver_tdfever =
  1198. {
  1199.     {
  1200.         {
  1201.             CPU_Z80,
  1202.             4000000,    /* 4.0 Mhz (?) */
  1203.             readmem_cpuA,writemem_cpuA,0,0,
  1204.             interrupt,1
  1205.         },
  1206.         {
  1207.             CPU_Z80,
  1208.             4000000,    /* 4.0 Mhz (?) */
  1209.             readmem_cpuB,writemem_cpuB,0,0,
  1210.             interrupt,1
  1211.         },
  1212.         {
  1213.             CPU_Z80 | CPU_AUDIO_CPU,
  1214.             4000000,    /* 4 Mhz (?) */
  1215. //            YM3526_Y8950_readmem_sound, YM3526_Y8950_writemem_sound,0,0,
  1216.             YM3526_YM3526_readmem_sound, YM3526_YM3526_writemem_sound,0,0,
  1217.             interrupt,1
  1218.         },
  1219.  
  1220.     },
  1221.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  1222.     100,    /* CPU slices per frame */
  1223.     0, /* init_machine */
  1224.  
  1225.     /* video hardware */
  1226.     384,240, { 0, 383, 0, 239-16 },
  1227.     tdfever_gfxdecodeinfo,
  1228.     1024,1024,
  1229.     snk_vh_convert_color_prom,
  1230.  
  1231.     VIDEO_TYPE_RASTER,
  1232.     0,
  1233.     snk_vh_start,
  1234.     snk_vh_stop,
  1235.     tdfever_vh_screenrefresh,
  1236.  
  1237.     /* sound hardware */
  1238.     0,0,0,0,
  1239.     {
  1240.         {
  1241.             SOUND_YM3526,
  1242.             &ym3526_ym3526_interface
  1243.         }
  1244. //        {
  1245. //            SOUND_Y8950,
  1246. //            &ym3526_y8950_interface
  1247. //        }
  1248.     }
  1249. };
  1250.  
  1251. static struct MachineDriver machine_driver_ftsoccer =
  1252. {
  1253.     {
  1254.         {
  1255.             CPU_Z80,
  1256.             4000000,    /* 4.0 Mhz (?) */
  1257.             readmem_cpuA,writemem_cpuA,0,0,
  1258.             interrupt,1
  1259.         },
  1260.         {
  1261.             CPU_Z80,
  1262.             4000000,    /* 4.0 Mhz (?) */
  1263.             readmem_cpuB,writemem_cpuB,0,0,
  1264.             interrupt,1
  1265.         },
  1266.         {
  1267.             CPU_Z80 | CPU_AUDIO_CPU,
  1268.             4000000,    /* 4 Mhz (?) */
  1269.             Y8950_readmem_sound, Y8950_writemem_sound,0,0,
  1270.             interrupt,1
  1271.         },
  1272.  
  1273.     },
  1274.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  1275.     100,    /* CPU slices per frame */
  1276.     0, /* init_machine */
  1277.  
  1278.     /* video hardware */
  1279.     384,240, { 0, 383, 0, 239-16 },
  1280.     tdfever_gfxdecodeinfo,
  1281.     1024,1024,
  1282.     snk_vh_convert_color_prom,
  1283.  
  1284.     VIDEO_TYPE_RASTER,
  1285.     0,
  1286.     snk_vh_start,
  1287.     snk_vh_stop,
  1288.     ftsoccer_vh_screenrefresh,
  1289.  
  1290.     /* sound hardware */
  1291.     0,0,0,0,
  1292.     {
  1293.         {
  1294.             SOUND_YM3526,
  1295.             &ym3526_interface
  1296.         }
  1297. //        {
  1298. //            SOUND_Y8950,
  1299. //            &y8950_interface
  1300. //        }
  1301.     }
  1302. };
  1303.  
  1304. /***********************************************************************/
  1305.  
  1306. ROM_START( tnk3 )
  1307.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  1308.     ROM_LOAD( "tnk3-p1.bin",  0x0000, 0x4000, 0x0d2a8ca9 )
  1309.     ROM_LOAD( "tnk3-p2.bin",  0x4000, 0x4000, 0x0ae0a483 )
  1310.     ROM_LOAD( "tnk3-p3.bin",  0x8000, 0x4000, 0xd16dd4db )
  1311.  
  1312.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  1313.     ROM_LOAD( "tnk3-p4.bin",  0x0000, 0x4000, 0x01b45a90 )
  1314.     ROM_LOAD( "tnk3-p5.bin",  0x4000, 0x4000, 0x60db6667 )
  1315.     ROM_LOAD( "tnk3-p6.bin",  0x8000, 0x4000, 0x4761fde7 )
  1316.  
  1317.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1318.     ROM_LOAD( "tnk3-p10.bin",  0x0000, 0x4000, 0x7bf0a517 )
  1319.     ROM_LOAD( "tnk3-p11.bin",  0x4000, 0x4000, 0x0569ce27 )
  1320.  
  1321.     ROM_REGION( 0x0c00, REGION_PROMS )
  1322.     ROM_LOAD( "7122.2",  0x000, 0x400, 0x34c06bc6 )
  1323.     ROM_LOAD( "7122.1",  0x400, 0x400, 0x6d0ac66a )
  1324.     ROM_LOAD( "7122.0",  0x800, 0x400, 0x4662b4c8 )
  1325.  
  1326.     ROM_REGION( 0x4000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1327.     ROM_LOAD( "tnk3-p14.bin", 0x0000, 0x2000, 0x1fd18c43 )
  1328.     ROM_RELOAD(               0x2000, 0x2000 )
  1329.  
  1330.     ROM_REGION( 0x8000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* background tiles */
  1331.     ROM_LOAD( "tnk3-p12.bin", 0x0000, 0x4000, 0xff495a16 )
  1332.     ROM_LOAD( "tnk3-p13.bin", 0x4000, 0x4000, 0xf8344843 )
  1333.  
  1334.     ROM_REGION( 0x18000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1335.     ROM_LOAD( "tnk3-p7.bin", 0x00000, 0x4000, 0x06b92c88 )
  1336.     ROM_LOAD( "tnk3-p8.bin", 0x08000, 0x4000, 0x63d0e2eb )
  1337.     ROM_LOAD( "tnk3-p9.bin", 0x10000, 0x4000, 0x872e3fac )
  1338. ROM_END
  1339.  
  1340. ROM_START( tnk3j )
  1341.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  1342.     ROM_LOAD( "p1.4e",  0x0000, 0x4000, 0x03aca147 )
  1343.     ROM_LOAD( "tnk3-p2.bin",  0x4000, 0x4000, 0x0ae0a483 )
  1344.     ROM_LOAD( "tnk3-p3.bin",  0x8000, 0x4000, 0xd16dd4db )
  1345.  
  1346.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  1347.     ROM_LOAD( "tnk3-p4.bin",  0x0000, 0x4000, 0x01b45a90 )
  1348.     ROM_LOAD( "tnk3-p5.bin",  0x4000, 0x4000, 0x60db6667 )
  1349.     ROM_LOAD( "tnk3-p6.bin",  0x8000, 0x4000, 0x4761fde7 )
  1350.  
  1351.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1352.     ROM_LOAD( "tnk3-p10.bin",  0x0000, 0x4000, 0x7bf0a517 )
  1353.     ROM_LOAD( "tnk3-p11.bin",  0x4000, 0x4000, 0x0569ce27 )
  1354.  
  1355.     ROM_REGION( 0x0c00, REGION_PROMS )
  1356.     ROM_LOAD( "7122.2",  0x000, 0x400, 0x34c06bc6 )
  1357.     ROM_LOAD( "7122.1",  0x400, 0x400, 0x6d0ac66a )
  1358.     ROM_LOAD( "7122.0",  0x800, 0x400, 0x4662b4c8 )
  1359.  
  1360.     ROM_REGION( 0x4000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1361.     ROM_LOAD( "p14.1e", 0x0000, 0x2000, 0x6bd575ca )
  1362.     ROM_RELOAD(         0x2000, 0x2000 )
  1363.  
  1364.     ROM_REGION( 0x8000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* background tiles */
  1365.     ROM_LOAD( "tnk3-p12.bin", 0x0000, 0x4000, 0xff495a16 )
  1366.     ROM_LOAD( "tnk3-p13.bin", 0x4000, 0x4000, 0xf8344843 )
  1367.  
  1368.     ROM_REGION( 0x18000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1369.     ROM_LOAD( "tnk3-p7.bin", 0x00000, 0x4000, 0x06b92c88 )
  1370.     ROM_LOAD( "tnk3-p8.bin", 0x08000, 0x4000, 0x63d0e2eb )
  1371.     ROM_LOAD( "tnk3-p9.bin", 0x10000, 0x4000, 0x872e3fac )
  1372. ROM_END
  1373.  
  1374. /***********************************************************************/
  1375.  
  1376. ROM_START( athena )
  1377.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for cpuA code */
  1378.     ROM_LOAD( "up02_p4.rom",  0x0000, 0x4000,  0x900a113c )
  1379.     ROM_LOAD( "up02_m4.rom",  0x4000, 0x8000,  0x61c69474 )
  1380.  
  1381.     ROM_REGION(  0x10000 , REGION_CPU2 ) /* 64k for cpuB code */
  1382.     ROM_LOAD( "up02_p8.rom",  0x0000, 0x4000, 0xdf50af7e )
  1383.     ROM_LOAD( "up02_m8.rom",  0x4000, 0x8000, 0xf3c933df )
  1384.  
  1385.     ROM_REGION( 0x10000, REGION_CPU3 ) /* 64k for sound code */
  1386.     ROM_LOAD( "up02_g6.rom",  0x0000, 0x4000, 0x42dbe029 )
  1387.     ROM_LOAD( "up02_k6.rom",  0x4000, 0x8000, 0x596f1c8a )
  1388.  
  1389.     ROM_REGION( 0x0c00, REGION_PROMS )
  1390.     ROM_LOAD( "up02_c2.rom",  0x000, 0x400, 0x294279ae )
  1391.     ROM_LOAD( "up02_b1.rom",  0x400, 0x400, 0xd25c9099 )
  1392.     ROM_LOAD( "up02_c1.rom",  0x800, 0x400, 0xa4a4e7dc )
  1393.  
  1394.     ROM_REGION( 0x4000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1395.     ROM_LOAD( "up01_d2.rom",  0x0000, 0x4000,  0x18b4bcca )
  1396.  
  1397.     ROM_REGION( 0x8000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* background tiles */
  1398.     ROM_LOAD( "up01_b2.rom",  0x0000, 0x8000,  0xf269c0eb )
  1399.  
  1400.     ROM_REGION( 0x18000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1401.     ROM_LOAD( "up01_p2.rom",  0x00000, 0x8000, 0xc63a871f )
  1402.     ROM_LOAD( "up01_s2.rom",  0x08000, 0x8000, 0x760568d8 )
  1403.     ROM_LOAD( "up01_t2.rom",  0x10000, 0x8000, 0x57b35c73 )
  1404. ROM_END
  1405.  
  1406. /***********************************************************************/
  1407.  
  1408. ROM_START( fitegolf )
  1409.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  1410.     ROM_LOAD( "gu2",    0x0000, 0x4000, 0x19be7ad6 )
  1411.     ROM_LOAD( "gu1",    0x4000, 0x8000, 0xbc32568f )
  1412.  
  1413.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  1414.     ROM_LOAD( "gu6",    0x0000, 0x4000, 0x2b9978c5 )
  1415.     ROM_LOAD( "gu5",    0x4000, 0x8000, 0xea3d138c )
  1416.  
  1417.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1418.     ROM_LOAD( "gu3",    0x0000, 0x4000, 0x811b87d7 )
  1419.     ROM_LOAD( "gu4",    0x4000, 0x8000, 0x2d998e2b )
  1420.  
  1421.     ROM_REGION( 0x0c00, REGION_PROMS )
  1422.     ROM_LOAD( "82s137.2c",  0x00000, 0x00400, 0x6e4c7836 )
  1423.     ROM_LOAD( "82s137.1b",  0x00400, 0x00400, 0x29e7986f )
  1424.     ROM_LOAD( "82s137.1c",  0x00800, 0x00400, 0x27ba9ff9 )
  1425.  
  1426.     ROM_REGION( 0x4000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1427.     ROM_LOAD( "gu8",   0x0000, 0x4000, 0xf1628dcf )
  1428.  
  1429.     ROM_REGION( 0x8000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1430.     ROM_LOAD( "gu7",  0x0000, 0x8000, 0x4655f94e )
  1431.  
  1432.     ROM_REGION( 0x18000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* sprites */
  1433.     ROM_LOAD( "gu9",   0x00000, 0x8000, 0xd4957ec5 )
  1434.     ROM_LOAD( "gu10",  0x08000, 0x8000, 0xb3acdac2 )
  1435.     ROM_LOAD( "gu11",  0x10000, 0x8000, 0xb99cf73b )
  1436. ROM_END
  1437.  
  1438. /***********************************************************************/
  1439.  
  1440. ROM_START( ikari )
  1441.     ROM_REGION( 0x10000, REGION_CPU1 )    /* CPU A */
  1442.     ROM_LOAD( "1.rom",  0x0000, 0x10000, 0x52a8b2dd )
  1443.  
  1444.     ROM_REGION( 0x10000, REGION_CPU2 )    /* CPU B */
  1445.     ROM_LOAD( "2.rom",  0x0000, 0x10000, 0x45364d55 )
  1446.  
  1447.     ROM_REGION( 0x10000, REGION_CPU3 )    /* Sound CPU */
  1448.     ROM_LOAD( "3.rom",  0x0000, 0x10000, 0x56a26699 )
  1449.  
  1450.     ROM_REGION( 0x0c00, REGION_PROMS )
  1451.     ROM_LOAD( "7122er.prm",  0x000, 0x400, 0xb9bf2c2c )
  1452.     ROM_LOAD( "7122eg.prm",  0x400, 0x400, 0x0703a770 )
  1453.     ROM_LOAD( "7122eb.prm",  0x800, 0x400, 0x0a11cdde )
  1454.  
  1455.     ROM_REGION( 0x4000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1456.     ROM_LOAD( "7.rom",    0x00000, 0x4000, 0xa7eb4917 )
  1457.  
  1458.     ROM_REGION( 0x20000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1459.     ROM_LOAD( "17.rom", 0x00000, 0x8000, 0xe0dba976 )
  1460.     ROM_LOAD( "18.rom", 0x08000, 0x8000, 0x24947d5f )
  1461.     ROM_LOAD( "19.rom", 0x10000, 0x8000, 0x9ee59e91 )
  1462.     ROM_LOAD( "20.rom", 0x18000, 0x8000, 0x5da7ec1a )
  1463.  
  1464.     ROM_REGION( 0x18000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1465.     ROM_LOAD( "8.rom",  0x00000, 0x8000, 0x9827c14a )
  1466.     ROM_LOAD( "9.rom",  0x08000, 0x8000, 0x545c790c )
  1467.     ROM_LOAD( "10.rom", 0x10000, 0x8000, 0xec9ba07e )
  1468.  
  1469.     ROM_REGION( 0x30000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  1470.     ROM_LOAD( "11.rom", 0x00000, 0x8000, 0x5c75ea8f )
  1471.     ROM_LOAD( "14.rom", 0x08000, 0x8000, 0x3293fde4 )
  1472.     ROM_LOAD( "12.rom", 0x10000, 0x8000, 0x95138498 )
  1473.     ROM_LOAD( "15.rom", 0x18000, 0x8000, 0x65a61c99 )
  1474.     ROM_LOAD( "13.rom", 0x20000, 0x8000, 0x315383d7 )
  1475.     ROM_LOAD( "16.rom", 0x28000, 0x8000, 0xe9b03e07 )
  1476. ROM_END
  1477.  
  1478. ROM_START( ikarijp )
  1479.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  1480.     ROM_LOAD( "up03_l4.rom",  0x0000, 0x4000, 0xcde006be )
  1481.     ROM_LOAD( "up03_k4.rom",  0x4000, 0x8000, 0x26948850 )
  1482.  
  1483.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  1484.     ROM_LOAD( "ik3",  0x0000, 0x4000, 0x9bb385f8 )
  1485.     ROM_LOAD( "ik4",  0x4000, 0x8000, 0x3a144bca )
  1486.  
  1487.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1488.     ROM_LOAD( "ik5",  0x0000, 0x4000, 0x863448fa )
  1489.     ROM_LOAD( "ik6",  0x4000, 0x8000, 0x9b16aa57 )
  1490.  
  1491.     ROM_REGION( 0x0c00, REGION_PROMS )
  1492.     ROM_LOAD( "7122er.prm",  0x000, 0x400, 0xb9bf2c2c )
  1493.     ROM_LOAD( "7122eg.prm",  0x400, 0x400, 0x0703a770 )
  1494.     ROM_LOAD( "7122eb.prm",  0x800, 0x400, 0x0a11cdde )
  1495.  
  1496.     ROM_REGION( 0x4000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1497.     ROM_LOAD( "ik7",    0x00000, 0x4000, 0x9e88f536 )    /* characters */
  1498.  
  1499.     ROM_REGION( 0x20000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1500.     ROM_LOAD( "17.rom", 0x00000, 0x8000, 0xe0dba976 )
  1501.     ROM_LOAD( "18.rom", 0x08000, 0x8000, 0x24947d5f )
  1502.     ROM_LOAD( "ik19", 0x10000, 0x8000, 0x566242ec )
  1503.     ROM_LOAD( "20.rom", 0x18000, 0x8000, 0x5da7ec1a )
  1504.  
  1505.     ROM_REGION( 0x18000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1506.     ROM_LOAD( "ik8",  0x00000, 0x8000, 0x75d796d0 )
  1507.     ROM_LOAD( "ik9",  0x08000, 0x8000, 0x2c34903b )
  1508.     ROM_LOAD( "ik10", 0x10000, 0x8000, 0xda9ccc94 )
  1509.  
  1510.     ROM_REGION( 0x30000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  1511.     ROM_LOAD( "11.rom", 0x00000, 0x8000, 0x5c75ea8f )
  1512.     ROM_LOAD( "14.rom", 0x08000, 0x8000, 0x3293fde4 )
  1513.     ROM_LOAD( "12.rom", 0x10000, 0x8000, 0x95138498 )
  1514.     ROM_LOAD( "15.rom", 0x18000, 0x8000, 0x65a61c99 )
  1515.     ROM_LOAD( "13.rom", 0x20000, 0x8000, 0x315383d7 )
  1516.     ROM_LOAD( "16.rom", 0x28000, 0x8000, 0xe9b03e07 )
  1517. ROM_END
  1518.  
  1519. ROM_START( ikarijpb )
  1520.     ROM_REGION( 0x10000, REGION_CPU1 ) /* CPU A */
  1521.     ROM_LOAD( "ik1",      0x00000, 0x4000, 0x2ef87dce )
  1522.     ROM_LOAD( "up03_k4.rom",  0x04000, 0x8000, 0x26948850 )
  1523.  
  1524.     ROM_REGION( 0x10000, REGION_CPU2 ) /* CPU B code */
  1525.     ROM_LOAD( "ik3",    0x0000, 0x4000, 0x9bb385f8 )
  1526.     ROM_LOAD( "ik4",    0x4000, 0x8000, 0x3a144bca )
  1527.  
  1528.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1529.     ROM_LOAD( "ik5",    0x0000, 0x4000, 0x863448fa )
  1530.     ROM_LOAD( "ik6",    0x4000, 0x8000, 0x9b16aa57 )
  1531.  
  1532.     ROM_REGION( 0x0c00, REGION_PROMS )
  1533.     ROM_LOAD( "7122er.prm", 0x000, 0x400, 0xb9bf2c2c )
  1534.     ROM_LOAD( "7122eg.prm", 0x400, 0x400, 0x0703a770 )
  1535.     ROM_LOAD( "7122eb.prm", 0x800, 0x400, 0x0a11cdde )
  1536.  
  1537.     ROM_REGION( 0x4000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1538.     ROM_LOAD( "ik7", 0x0000, 0x4000, 0x9e88f536 )
  1539.  
  1540.     ROM_REGION( 0x20000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1541.     ROM_LOAD( "17.rom", 0x00000, 0x8000, 0xe0dba976 )
  1542.     ROM_LOAD( "18.rom", 0x08000, 0x8000, 0x24947d5f )
  1543.     ROM_LOAD( "ik19",   0x10000, 0x8000, 0x566242ec )
  1544.     ROM_LOAD( "20.rom", 0x18000, 0x8000, 0x5da7ec1a )
  1545.  
  1546.     ROM_REGION( 0x18000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1547.     ROM_LOAD( "ik8",    0x00000, 0x8000, 0x75d796d0 )
  1548.     ROM_LOAD( "ik9",    0x08000, 0x8000, 0x2c34903b )
  1549.     ROM_LOAD( "ik10",   0x10000, 0x8000, 0xda9ccc94 )
  1550.  
  1551.     ROM_REGION( 0x30000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  1552.     ROM_LOAD( "11.rom", 0x00000, 0x8000, 0x5c75ea8f )
  1553.     ROM_LOAD( "14.rom", 0x08000, 0x8000, 0x3293fde4 )
  1554.     ROM_LOAD( "12.rom", 0x10000, 0x8000, 0x95138498 )
  1555.     ROM_LOAD( "15.rom", 0x18000, 0x8000, 0x65a61c99 )
  1556.     ROM_LOAD( "13.rom", 0x20000, 0x8000, 0x315383d7 )
  1557.     ROM_LOAD( "16.rom", 0x28000, 0x8000, 0xe9b03e07 )
  1558. ROM_END
  1559.  
  1560. /***********************************************************************/
  1561.  
  1562. ROM_START( victroad )
  1563.     ROM_REGION( 0x10000, REGION_CPU1 )    /* CPU A code */
  1564.     ROM_LOAD( "p1",  0x0000, 0x10000,  0xe334acef )
  1565.  
  1566.     ROM_REGION(  0x10000 , REGION_CPU2 )    /* CPU B code */
  1567.     ROM_LOAD( "p2",  0x00000, 0x10000, 0x907fac83 )
  1568.  
  1569.     ROM_REGION( 0x10000, REGION_CPU3 )    /* sound code */
  1570.     ROM_LOAD( "p3",  0x00000, 0x10000, 0xbac745f6 )
  1571.  
  1572.     ROM_REGION( 0x0c00, REGION_PROMS )
  1573.     ROM_LOAD( "mb7122e.1k", 0x000, 0x400, 0x491ab831 )
  1574.     ROM_LOAD( "mb7122e.2l", 0x400, 0x400, 0x8feca424 )
  1575.     ROM_LOAD( "mb7122e.1l", 0x800, 0x400, 0x220076ca )
  1576.  
  1577.     ROM_REGION( 0x4000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1578.     ROM_LOAD( "p7",  0x0000, 0x4000,  0x2b6ed95b )
  1579.  
  1580.     ROM_REGION( 0x20000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1581.     ROM_LOAD( "p17",  0x00000, 0x8000, 0x19d4518c )
  1582.     ROM_LOAD( "p18",  0x08000, 0x8000, 0xd818be43 )
  1583.     ROM_LOAD( "p19",  0x10000, 0x8000, 0xd64e0f89 )
  1584.     ROM_LOAD( "p20",  0x18000, 0x8000, 0xedba0f31 )
  1585.  
  1586.     ROM_REGION( 0x18000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1587.     ROM_LOAD( "p8",  0x00000, 0x8000, 0xdf7f252a )
  1588.     ROM_LOAD( "p9",  0x08000, 0x8000, 0x9897bc05 )
  1589.     ROM_LOAD( "p10", 0x10000, 0x8000, 0xecd3c0ea )
  1590.  
  1591.     ROM_REGION( 0x40000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  1592.     ROM_LOAD( "p11", 0x00000, 0x8000, 0x668b25a4 )
  1593.     ROM_LOAD( "p14", 0x08000, 0x8000, 0xa7031d4a )
  1594.     ROM_LOAD( "p12", 0x10000, 0x8000, 0xf44e95fa )
  1595.     ROM_LOAD( "p15", 0x18000, 0x8000, 0x120d2450 )
  1596.     ROM_LOAD( "p13", 0x20000, 0x8000, 0x980ca3d8 )
  1597.     ROM_LOAD( "p16", 0x28000, 0x8000, 0x9f820e8a )
  1598.  
  1599.     ROM_REGION( 0x20000, REGION_SOUND1 )
  1600.     ROM_LOAD( "p4",  0x00000, 0x10000, 0xe10fb8cc )
  1601.     ROM_LOAD( "p5",  0x10000, 0x10000, 0x93e5f110 )
  1602. ROM_END
  1603.  
  1604. ROM_START( dogosoke ) /* Victory Road Japan */
  1605.     ROM_REGION( 0x10000, REGION_CPU1 )    /* CPU A code */
  1606.     ROM_LOAD( "up03_p4.rom",  0x0000, 0x10000,  0x37867ad2 )
  1607.  
  1608.     ROM_REGION( 0x10000, REGION_CPU2 )    /* CPU B code */
  1609.     ROM_LOAD( "p2",  0x00000, 0x10000, 0x907fac83 )
  1610.  
  1611.     ROM_REGION( 0x10000, REGION_CPU3 )    /* sound code */
  1612.     ROM_LOAD( "up03_k7.rom",  0x00000, 0x10000, 0x173fa571 )
  1613.  
  1614.     ROM_REGION( 0x0c00, REGION_PROMS )
  1615.     ROM_LOAD( "up03_k1.rom",  0x000, 0x400, 0x10a2ce2b )
  1616.     ROM_LOAD( "up03_l2.rom",  0x400, 0x400, 0x99dc9792 )
  1617.     ROM_LOAD( "up03_l1.rom",  0x800, 0x400, 0xe7213160 )
  1618.  
  1619.     ROM_REGION( 0x4000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1620.     ROM_LOAD( "up02_b3.rom",  0x0000, 0x4000,  0x51a4ec83 )
  1621.  
  1622.     ROM_REGION( 0x20000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1623.     ROM_LOAD( "p17",  0x00000, 0x8000, 0x19d4518c )
  1624.     ROM_LOAD( "p18",  0x08000, 0x8000, 0xd818be43 )
  1625.     ROM_LOAD( "p19",  0x10000, 0x8000, 0xd64e0f89 )
  1626.     ROM_LOAD( "p20",  0x18000, 0x8000, 0xedba0f31 )
  1627.  
  1628.     ROM_REGION( 0x18000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1629.     ROM_LOAD( "up02_d3.rom",  0x00000, 0x8000, 0xd43044f8 )
  1630.     ROM_LOAD( "up02_e3.rom",  0x08000, 0x8000, 0x365ed2d8 )
  1631.     ROM_LOAD( "up02_g3.rom",  0x10000, 0x8000, 0x92579bf3 )
  1632.  
  1633.     ROM_REGION( 0x30000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  1634.     ROM_LOAD( "p11", 0x00000, 0x8000, 0x668b25a4 )
  1635.     ROM_LOAD( "p14", 0x08000, 0x8000, 0xa7031d4a )
  1636.     ROM_LOAD( "p12", 0x10000, 0x8000, 0xf44e95fa )
  1637.     ROM_LOAD( "p15", 0x18000, 0x8000, 0x120d2450 )
  1638.     ROM_LOAD( "p13", 0x20000, 0x8000, 0x980ca3d8 )
  1639.     ROM_LOAD( "p16", 0x28000, 0x8000, 0x9f820e8a )
  1640.  
  1641.     ROM_REGION( 0x20000, REGION_SOUND1 )
  1642.     ROM_LOAD( "up03_f5.rom", 0x00000, 0x10000, 0x5b43fe9f )
  1643.     ROM_LOAD( "up03_g5.rom", 0x10000, 0x10000, 0xaae30cd6 )
  1644. ROM_END
  1645.  
  1646. /***********************************************************************/
  1647.  
  1648. ROM_START( gwar )
  1649.     ROM_REGION( 0x10000, REGION_CPU1 )
  1650.     ROM_LOAD( "7g",  0x00000, 0x10000, 0x5bcfa7dc )
  1651.  
  1652.     ROM_REGION( 0x10000, REGION_CPU2 )
  1653.     ROM_LOAD( "g02",  0x00000, 0x10000, 0x86d931bf )
  1654.  
  1655.     ROM_REGION( 0x10000, REGION_CPU3 )
  1656.     ROM_LOAD( "g03",  0x00000, 0x10000, 0xeb544ab9 )
  1657.  
  1658.     ROM_REGION( 0x0c00, REGION_PROMS )
  1659.     ROM_LOAD( "guprom.3", 0x000, 0x400, 0x090236a3 ) /* red */
  1660.     ROM_LOAD( "guprom.2", 0x400, 0x400, 0x9147de69 ) /* green */
  1661.     ROM_LOAD( "guprom.1", 0x800, 0x400, 0x7f9c839e ) /* blue */
  1662.  
  1663.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1664.     ROM_LOAD( "g05",  0x0000, 0x08000, 0x80f73e2e )
  1665.  
  1666.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1667.     ROM_LOAD( "g06",  0x00000, 0x10000, 0xf1dcdaef )
  1668.     ROM_LOAD( "g07",  0x10000, 0x10000, 0x326e4e5e )
  1669.     ROM_LOAD( "g08",  0x20000, 0x10000, 0x0aa70967 )
  1670.     ROM_LOAD( "g09",  0x30000, 0x10000, 0xb7686336 )
  1671.  
  1672.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE )
  1673.     ROM_LOAD( "g10",  0x00000, 0x10000, 0x58600f7d )
  1674.     ROM_LOAD( "g11",  0x10000, 0x10000, 0xa3f9b463 )
  1675.     ROM_LOAD( "g12",  0x20000, 0x10000, 0x092501be )
  1676.     ROM_LOAD( "g13",  0x30000, 0x10000, 0x25801ea6 )
  1677.  
  1678.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE )
  1679.     ROM_LOAD( "g20",  0x00000, 0x10000, 0x2b46edff )
  1680.     ROM_LOAD( "g21",  0x10000, 0x10000, 0xbe19888d )
  1681.     ROM_LOAD( "g18",  0x20000, 0x10000, 0x2d653f0c )
  1682.     ROM_LOAD( "g19",  0x30000, 0x10000, 0xebbf3ba2 )
  1683.     ROM_LOAD( "g16",  0x40000, 0x10000, 0xaeb3707f )
  1684.     ROM_LOAD( "g17",  0x50000, 0x10000, 0x0808f95f )
  1685.     ROM_LOAD( "g14",  0x60000, 0x10000, 0x8dfc7b87 )
  1686.     ROM_LOAD( "g15",  0x70000, 0x10000, 0x06822aac )
  1687.  
  1688.     ROM_REGION( 0x10000, REGION_SOUND1 )
  1689.     ROM_LOAD( "g04",  0x00000, 0x10000, 0x2255f8dd )
  1690. ROM_END
  1691.  
  1692. ROM_START( gwara )
  1693.     ROM_REGION( 0x10000, REGION_CPU1 )
  1694.     ROM_LOAD( "gv3",  0x00000, 0x10000, 0x24936d83 )
  1695.  
  1696.     ROM_REGION( 0x10000, REGION_CPU2 )
  1697.     ROM_LOAD( "gv4",  0x00000, 0x10000, 0x26335a55 )
  1698.  
  1699.     ROM_REGION( 0x10000, REGION_CPU3 )
  1700.     ROM_LOAD( "gv2",  0x00000, 0x10000, 0x896682dd )
  1701.  
  1702.     ROM_REGION( 0x0c00, REGION_PROMS )
  1703.     ROM_LOAD( "guprom.3", 0x000, 0x400, 0x090236a3 ) /* red */
  1704.     ROM_LOAD( "guprom.2", 0x400, 0x400, 0x9147de69 ) /* green */
  1705.     ROM_LOAD( "guprom.1", 0x800, 0x400, 0x7f9c839e ) /* blue */
  1706.  
  1707.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1708.     ROM_LOAD( "g05",  0x0000, 0x08000, 0x80f73e2e )
  1709.  
  1710.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1711.     ROM_LOAD( "g06",  0x00000, 0x10000, 0xf1dcdaef )
  1712.     ROM_LOAD( "g07",  0x10000, 0x10000, 0x326e4e5e )
  1713.     ROM_LOAD( "g08",  0x20000, 0x10000, 0x0aa70967 )
  1714.     ROM_LOAD( "g09",  0x30000, 0x10000, 0xb7686336 )
  1715.  
  1716.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE )
  1717.     ROM_LOAD( "g10",  0x00000, 0x10000, 0x58600f7d )
  1718.     ROM_LOAD( "g11",  0x10000, 0x10000, 0xa3f9b463 )
  1719.     ROM_LOAD( "g12",  0x20000, 0x10000, 0x092501be )
  1720.     ROM_LOAD( "g13",  0x30000, 0x10000, 0x25801ea6 )
  1721.  
  1722.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE )
  1723.     ROM_LOAD( "g20",  0x00000, 0x10000, 0x2b46edff )
  1724.     ROM_LOAD( "g21",  0x10000, 0x10000, 0xbe19888d )
  1725.     ROM_LOAD( "g18",  0x20000, 0x10000, 0x2d653f0c )
  1726.     ROM_LOAD( "g19",  0x30000, 0x10000, 0xebbf3ba2 )
  1727.     ROM_LOAD( "g16",  0x40000, 0x10000, 0xaeb3707f )
  1728.     ROM_LOAD( "g17",  0x50000, 0x10000, 0x0808f95f )
  1729.     ROM_LOAD( "g14",  0x60000, 0x10000, 0x8dfc7b87 )
  1730.     ROM_LOAD( "g15",  0x70000, 0x10000, 0x06822aac )
  1731.  
  1732.     ROM_REGION( 0x10000, REGION_SOUND1 )
  1733.     ROM_LOAD( "g04",  0x00000, 0x10000, 0x2255f8dd )
  1734. ROM_END
  1735.  
  1736. ROM_START( gwarj )
  1737.     ROM_REGION( 0x10000, REGION_CPU1 )
  1738.     ROM_LOAD( "7y3047",  0x00000, 0x10000, 0x7f8a880c )
  1739.  
  1740.     ROM_REGION( 0x10000, REGION_CPU2 )
  1741.     ROM_LOAD( "g02",  0x00000, 0x10000, 0x86d931bf )
  1742.  
  1743.     ROM_REGION( 0x10000, REGION_CPU3 )
  1744.     ROM_LOAD( "g03",  0x00000, 0x10000, 0xeb544ab9 )
  1745.  
  1746.     ROM_REGION( 0x0c00, REGION_PROMS )
  1747.     ROM_LOAD( "guprom.3", 0x000, 0x400, 0x090236a3 ) /* red */
  1748.     ROM_LOAD( "guprom.2", 0x400, 0x400, 0x9147de69 ) /* green */
  1749.     ROM_LOAD( "guprom.1", 0x800, 0x400, 0x7f9c839e ) /* blue */
  1750.  
  1751.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1752.     ROM_LOAD( "792001",  0x0000, 0x08000, 0x99d7ddf3 )
  1753.  
  1754.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1755.     ROM_LOAD( "g06",  0x00000, 0x10000, 0xf1dcdaef )
  1756.     ROM_LOAD( "g07",  0x10000, 0x10000, 0x326e4e5e )
  1757.     ROM_LOAD( "g08",  0x20000, 0x10000, 0x0aa70967 )
  1758.     ROM_LOAD( "g09",  0x30000, 0x10000, 0xb7686336 )
  1759.  
  1760.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE )
  1761.     ROM_LOAD( "g10",  0x00000, 0x10000, 0x58600f7d )
  1762.     ROM_LOAD( "g11",  0x10000, 0x10000, 0xa3f9b463 )
  1763.     ROM_LOAD( "g12",  0x20000, 0x10000, 0x092501be )
  1764.     ROM_LOAD( "g13",  0x30000, 0x10000, 0x25801ea6 )
  1765.  
  1766.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE )
  1767.     ROM_LOAD( "g20",  0x00000, 0x10000, 0x2b46edff )
  1768.     ROM_LOAD( "g21",  0x10000, 0x10000, 0xbe19888d )
  1769.     ROM_LOAD( "g18",  0x20000, 0x10000, 0x2d653f0c )
  1770.     ROM_LOAD( "g19",  0x30000, 0x10000, 0xebbf3ba2 )
  1771.     ROM_LOAD( "g16",  0x40000, 0x10000, 0xaeb3707f )
  1772.     ROM_LOAD( "g17",  0x50000, 0x10000, 0x0808f95f )
  1773.     ROM_LOAD( "g14",  0x60000, 0x10000, 0x8dfc7b87 )
  1774.     ROM_LOAD( "g15",  0x70000, 0x10000, 0x06822aac )
  1775.  
  1776.     ROM_REGION( 0x10000, REGION_SOUND1 )
  1777.     ROM_LOAD( "g04",  0x00000, 0x10000, 0x2255f8dd )
  1778. ROM_END
  1779.  
  1780. ROM_START( gwarb )
  1781.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  1782.     ROM_LOAD( "g01",  0x00000, 0x10000, 0xce1d3c80 )
  1783.  
  1784.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  1785.     ROM_LOAD( "g02",  0x00000, 0x10000, 0x86d931bf )
  1786.  
  1787.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1788.     ROM_LOAD( "g03",  0x00000, 0x10000, 0xeb544ab9 )
  1789.  
  1790.     ROM_REGION( 0x0c00, REGION_PROMS )
  1791.     ROM_LOAD( "guprom.3", 0x000, 0x400, 0x090236a3 ) /* red */ // up03_k1.rom
  1792.     ROM_LOAD( "guprom.2", 0x400, 0x400, 0x9147de69 ) /* green */ // up03_l1.rom
  1793.     ROM_LOAD( "guprom.1", 0x800, 0x400, 0x7f9c839e ) /* blue */ // up03_k2.rom
  1794.  
  1795.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1796.     ROM_LOAD( "g05",  0x0000, 0x08000, 0x80f73e2e )
  1797.  
  1798.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* background tiles */
  1799.     ROM_LOAD( "g06",  0x00000, 0x10000, 0xf1dcdaef )
  1800.     ROM_LOAD( "g07",  0x10000, 0x10000, 0x326e4e5e )
  1801.     ROM_LOAD( "g08",  0x20000, 0x10000, 0x0aa70967 )
  1802.     ROM_LOAD( "g09",  0x30000, 0x10000, 0xb7686336 )
  1803.  
  1804.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1805.     ROM_LOAD( "g10",  0x00000, 0x10000, 0x58600f7d )
  1806.     ROM_LOAD( "g11",  0x10000, 0x10000, 0xa3f9b463 )
  1807.     ROM_LOAD( "g12",  0x20000, 0x10000, 0x092501be )
  1808.     ROM_LOAD( "g13",  0x30000, 0x10000, 0x25801ea6 )
  1809.  
  1810.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  1811.     ROM_LOAD( "g20",  0x00000, 0x10000, 0x2b46edff )
  1812.     ROM_LOAD( "g21",  0x10000, 0x10000, 0xbe19888d )
  1813.     ROM_LOAD( "g18",  0x20000, 0x10000, 0x2d653f0c )
  1814.     ROM_LOAD( "g19",  0x30000, 0x10000, 0xebbf3ba2 )
  1815.     ROM_LOAD( "g16",  0x40000, 0x10000, 0xaeb3707f )
  1816.     ROM_LOAD( "g17",  0x50000, 0x10000, 0x0808f95f )
  1817.     ROM_LOAD( "g14",  0x60000, 0x10000, 0x8dfc7b87 )
  1818.     ROM_LOAD( "g15",  0x70000, 0x10000, 0x06822aac )
  1819.  
  1820.     ROM_REGION( 0x10000, REGION_SOUND1 )
  1821.     ROM_LOAD( "g04",  0x00000, 0x10000, 0x2255f8dd )
  1822. ROM_END
  1823.  
  1824. /***********************************************************************/
  1825.  
  1826. ROM_START( bermudat )
  1827.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  1828.     ROM_LOAD( "bt_p1.rom",  0x0000, 0x10000,  0x43dec5e9 )
  1829.  
  1830.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  1831.     ROM_LOAD( "bt_p2.rom",  0x00000, 0x10000, 0x0e193265 )
  1832.  
  1833.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1834.     ROM_LOAD( "bt_p3.rom",  0x00000, 0x10000, 0x53a82e50 )    /* YM3526 */
  1835.  
  1836.     ROM_REGION( 0x1400, REGION_PROMS )
  1837.     ROM_LOAD( "btj_01r.prm", 0x0000, 0x0400, 0xf4b54d06 ) /* red */
  1838.     ROM_LOAD( "btj_02g.prm", 0x0400, 0x0400, 0xbaac139e ) /* green */
  1839.     ROM_LOAD( "btj_03b.prm", 0x0800, 0x0400, 0x2edf2e0b ) /* blue */
  1840.     ROM_LOAD( "btj_h.prm",   0x0c00, 0x0400, 0xc20b197b ) /* ? */
  1841.     ROM_LOAD( "btj_v.prm",   0x1000, 0x0400, 0x5d0c617f ) /* ? */
  1842.  
  1843.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1844.     ROM_LOAD( "bt_p10.rom", 0x0000, 0x8000,  0xd3650211 )
  1845.  
  1846.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1847.     ROM_LOAD( "bt_p22.rom", 0x00000, 0x10000, 0x8daf7df4 )
  1848.     ROM_LOAD( "bt_p21.rom", 0x10000, 0x10000, 0xb7689599 )
  1849.     ROM_LOAD( "bt_p20.rom", 0x20000, 0x10000, 0xab6217b7 )
  1850.     ROM_LOAD( "bt_p19.rom", 0x30000, 0x10000, 0x8ed759a0 )
  1851.  
  1852.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1853.     ROM_LOAD( "bt_p6.rom",  0x00000, 0x8000, 0x8ffdf969 )
  1854.     ROM_LOAD( "bt_p7.rom",  0x10000, 0x8000, 0x268d10df )
  1855.     ROM_LOAD( "bt_p8.rom",  0x20000, 0x8000, 0x3e39e9dd )
  1856.     ROM_LOAD( "bt_p9.rom",  0x30000, 0x8000, 0xbf56da61 )
  1857.  
  1858.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  1859.     ROM_LOAD( "bt_p11.rom", 0x00000, 0x10000, 0xaae7410e )
  1860.     ROM_LOAD( "bt_p12.rom", 0x10000, 0x10000, 0x18914f70 )
  1861.     ROM_LOAD( "bt_p13.rom", 0x20000, 0x10000, 0xcd79ce81 )
  1862.     ROM_LOAD( "bt_p14.rom", 0x30000, 0x10000, 0xedc57117 )
  1863.     ROM_LOAD( "bt_p15.rom", 0x40000, 0x10000, 0x448bf9f4 )
  1864.     ROM_LOAD( "bt_p16.rom", 0x50000, 0x10000, 0x119999eb )
  1865.     ROM_LOAD( "bt_p17.rom", 0x60000, 0x10000, 0xb5462139 )
  1866.     ROM_LOAD( "bt_p18.rom", 0x70000, 0x10000, 0xcb416227 )
  1867.  
  1868.     ROM_REGION( 0x20000, REGION_SOUND1 )
  1869.     ROM_LOAD( "bt_p4.rom",  0x00000, 0x10000, 0x4bc83229 )
  1870.     ROM_LOAD( "bt_p5.rom",  0x10000, 0x10000, 0x817bd62c )
  1871. ROM_END
  1872.  
  1873. ROM_START( bermudaj )
  1874.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  1875.     ROM_LOAD( "btj_p01.bin", 0x0000, 0x10000,  0xeda75f36 )
  1876.  
  1877.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  1878.     ROM_LOAD( "bt_p2.rom",   0x00000, 0x10000, 0x0e193265 )
  1879.  
  1880.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1881.     ROM_LOAD( "btj_p03.bin", 0x00000, 0x10000, 0xfea8a096 )    /* YM3526 */
  1882.  
  1883.     ROM_REGION( 0x1400, REGION_PROMS )
  1884.     ROM_LOAD( "btj_01r.prm", 0x0000, 0x0400, 0xf4b54d06 ) /* red */
  1885.     ROM_LOAD( "btj_02g.prm", 0x0400, 0x0400, 0xbaac139e ) /* green */
  1886.     ROM_LOAD( "btj_03b.prm", 0x0800, 0x0400, 0x2edf2e0b ) /* blue */
  1887.     ROM_LOAD( "btj_h.prm",   0x0c00, 0x0400, 0xc20b197b ) /* ? */
  1888.     ROM_LOAD( "btj_v.prm",   0x1000, 0x0400, 0x5d0c617f ) /* ? */
  1889.  
  1890.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1891.     ROM_LOAD( "bt_p10.rom",  0x0000, 0x8000,  0xd3650211 )
  1892.  
  1893.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1894.     ROM_LOAD( "bt_p22.rom",  0x00000, 0x10000, 0x8daf7df4 )
  1895.     ROM_LOAD( "bt_p21.rom",  0x10000, 0x10000, 0xb7689599 )
  1896.     ROM_LOAD( "bt_p20.rom",  0x20000, 0x10000, 0xab6217b7 )
  1897.     ROM_LOAD( "bt_p19.rom",  0x30000, 0x10000, 0x8ed759a0 )
  1898.  
  1899.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1900.     ROM_LOAD( "bt_p6.rom",   0x00000, 0x8000, 0x8ffdf969 )
  1901.     ROM_LOAD( "bt_p7.rom",   0x10000, 0x8000, 0x268d10df )
  1902.     ROM_LOAD( "bt_p8.rom",   0x20000, 0x8000, 0x3e39e9dd )
  1903.     ROM_LOAD( "bt_p9.rom",   0x30000, 0x8000, 0xbf56da61 )
  1904.  
  1905.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  1906.     ROM_LOAD( "bt_p11.rom",  0x00000, 0x10000, 0xaae7410e )
  1907.     ROM_LOAD( "bt_p12.rom",  0x10000, 0x10000, 0x18914f70 )
  1908.     ROM_LOAD( "bt_p13.rom",  0x20000, 0x10000, 0xcd79ce81 )
  1909.     ROM_LOAD( "bt_p14.rom",  0x30000, 0x10000, 0xedc57117 )
  1910.     ROM_LOAD( "bt_p15.rom",  0x40000, 0x10000, 0x448bf9f4 )
  1911.     ROM_LOAD( "bt_p16.rom",  0x50000, 0x10000, 0x119999eb )
  1912.     ROM_LOAD( "bt_p17.rom",  0x60000, 0x10000, 0xb5462139 )
  1913.     ROM_LOAD( "bt_p18.rom",  0x70000, 0x10000, 0xcb416227 )
  1914.  
  1915.     ROM_REGION( 0x20000, REGION_SOUND1 )
  1916.     ROM_LOAD( "btj_p04.bin", 0x00000, 0x10000, 0xb2e01129 )
  1917.     ROM_LOAD( "btj_p05.bin", 0x10000, 0x10000, 0x924c24f7 )
  1918. ROM_END
  1919.  
  1920. ROM_START( worldwar )
  1921.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  1922.     ROM_LOAD( "ww4.bin",  0x0000, 0x10000,  0xbc29d09f )
  1923.  
  1924.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  1925.     ROM_LOAD( "ww5.bin",  0x00000, 0x10000, 0x8dc15909 )
  1926.  
  1927.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1928.     ROM_LOAD( "ww3.bin",  0x00000, 0x10000, 0x8b74c951 )
  1929.  
  1930.     ROM_REGION( 0x1400, REGION_PROMS )
  1931.     ROM_LOAD( "ww_r.bin",    0x0000, 0x0400, 0xb88e95f0 ) /* red */
  1932.     ROM_LOAD( "ww_g.bin",    0x0400, 0x0400, 0x5e1616b2 ) /* green */
  1933.     ROM_LOAD( "ww_b.bin",    0x0800, 0x0400, 0xe9770796 ) /* blue */
  1934.     ROM_LOAD( "btj_h.prm",   0x0c00, 0x0400, 0xc20b197b ) /* ? */
  1935.     ROM_LOAD( "btj_v.prm",   0x1000, 0x0400, 0x5d0c617f ) /* ? */
  1936.  
  1937.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1938.     ROM_LOAD( "ww6.bin", 0x0000, 0x8000,  0xd57570ab )
  1939.  
  1940.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1941.     ROM_LOAD( "ww11.bin", 0x00000, 0x10000, 0x603ddcb5 )
  1942.     ROM_LOAD( "ww14.bin", 0x10000, 0x10000, 0x04c784be )
  1943.     ROM_LOAD( "ww13.bin", 0x20000, 0x10000, 0x83a7ef62 )
  1944.     ROM_LOAD( "ww12.bin", 0x30000, 0x10000, 0x388093ff )
  1945.  
  1946.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1947.     ROM_LOAD( "ww7.bin",  0x30000, 0x08000, 0x53c4b24e )
  1948.     ROM_LOAD( "ww8.bin",  0x20000, 0x08000, 0x0ec15086 )
  1949.     ROM_LOAD( "ww9.bin",  0x10000, 0x08000, 0xd9d35911 )
  1950.     ROM_LOAD( "ww10.bin", 0x00000, 0x08000, 0xf68a2d51 )
  1951.  
  1952.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  1953.     ROM_LOAD( "ww15.bin", 0x40000, 0x10000, 0xd55ce063 )
  1954.     ROM_LOAD( "ww16.bin", 0x50000, 0x10000, 0xa2d19ce5 )
  1955.     ROM_LOAD( "ww17.bin", 0x60000, 0x10000, 0xa9a6b128 )
  1956.     ROM_LOAD( "ww18.bin", 0x70000, 0x10000, 0xc712d24c )
  1957.     ROM_LOAD( "ww19.bin", 0x20000, 0x10000, 0xc39ac1a7 )
  1958.     ROM_LOAD( "ww20.bin", 0x30000, 0x10000, 0x8504170f )
  1959.     ROM_LOAD( "ww21.bin", 0x00000, 0x10000, 0xbe974fbe )
  1960.     ROM_LOAD( "ww22.bin", 0x10000, 0x10000, 0x9914972a )
  1961.  
  1962.     ROM_REGION( 0x20000, REGION_SOUND1 )    /* ADPCM samples */
  1963.     ROM_LOAD( "bt_p4.rom",  0x00000, 0x10000, 0x4bc83229 )
  1964.     ROM_LOAD( "bt_p5.rom",  0x10000, 0x10000, 0x817bd62c )
  1965. ROM_END
  1966.  
  1967. ROM_START( bermudaa )
  1968.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  1969.     ROM_LOAD( "4",  0x0000, 0x10000,  0x4de39d01 )
  1970.  
  1971.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  1972.     ROM_LOAD( "5",  0x00000, 0x10000, 0x76158e94 )
  1973.  
  1974.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  1975.     ROM_LOAD( "3",  0x00000, 0x10000, 0xc79134a8 )
  1976.  
  1977.     ROM_REGION( 0x1400, REGION_PROMS )
  1978.     ROM_LOAD( "mb7122e.1k",  0x0000, 0x0400, 0x1e8fc4c3 ) /* red */
  1979.     ROM_LOAD( "mb7122e.2l",  0x0400, 0x0400, 0x23ce9707 ) /* green */
  1980.     ROM_LOAD( "mb7122e.1l",  0x0800, 0x0400, 0x26caf985 ) /* blue */
  1981.     ROM_LOAD( "btj_h.prm",   0x0c00, 0x0400, 0xc20b197b ) /* ? */
  1982.     ROM_LOAD( "btj_v.prm",   0x1000, 0x0400, 0x5d0c617f ) /* ? */
  1983.  
  1984.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  1985.     ROM_LOAD( "6", 0x0000, 0x8000,  0xa0e6710c )
  1986.  
  1987.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  1988.     ROM_LOAD( "ww11.bin", 0x00000, 0x10000, 0x603ddcb5 )
  1989.     ROM_LOAD( "ww14.bin", 0x10000, 0x10000, 0x04c784be )
  1990.     ROM_LOAD( "ww13.bin", 0x20000, 0x10000, 0x83a7ef62 )
  1991.     ROM_LOAD( "ww12.bin", 0x30000, 0x10000, 0x388093ff )
  1992.  
  1993.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  1994.     ROM_LOAD( "ww7.bin",  0x30000, 0x08000, 0x53c4b24e )
  1995.     ROM_LOAD( "ww8.bin",  0x20000, 0x08000, 0x0ec15086 )
  1996.     ROM_LOAD( "ww9.bin",  0x10000, 0x08000, 0xd9d35911 )
  1997.     ROM_LOAD( "ww10.bin", 0x00000, 0x08000, 0xf68a2d51 )
  1998.  
  1999.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  2000.     ROM_LOAD( "ww15.bin", 0x40000, 0x10000, 0xd55ce063 )
  2001.     ROM_LOAD( "ww16.bin", 0x50000, 0x10000, 0xa2d19ce5 )
  2002.     ROM_LOAD( "ww17.bin", 0x60000, 0x10000, 0xa9a6b128 )
  2003.     ROM_LOAD( "ww18.bin", 0x70000, 0x10000, 0xc712d24c )
  2004.     ROM_LOAD( "ww19.bin", 0x20000, 0x10000, 0xc39ac1a7 )
  2005.     ROM_LOAD( "ww20.bin", 0x30000, 0x10000, 0x8504170f )
  2006.     ROM_LOAD( "ww21.bin", 0x00000, 0x10000, 0xbe974fbe )
  2007.     ROM_LOAD( "ww22.bin", 0x10000, 0x10000, 0x9914972a )
  2008.  
  2009.     ROM_REGION( 0x20000, REGION_SOUND1 )    /* ADPCM samples */
  2010.     ROM_LOAD( "bt_p4.rom",  0x00000, 0x10000, 0x4bc83229 )
  2011.     ROM_LOAD( "bt_p5.rom",  0x10000, 0x10000, 0x817bd62c )
  2012. ROM_END
  2013.  
  2014. /***********************************************************************/
  2015.  
  2016. ROM_START( psychos )
  2017.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  2018.     ROM_LOAD( "p7",  0x00000, 0x10000, 0x562809f4 )
  2019.  
  2020.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  2021.     ROM_LOAD( "up03_m8.rom",  0x00000, 0x10000, 0x5f426ddb )
  2022.  
  2023.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  2024.     ROM_LOAD( "p5",  0x0000, 0x10000,  0x64503283 )
  2025.  
  2026.     ROM_REGION( 0x1400, REGION_PROMS )
  2027.     ROM_LOAD( "up03_k1.rom",  0x00000, 0x00400, 0x27b8ca8c ) /* red */
  2028.     ROM_LOAD( "up03_l1.rom",  0x00400, 0x00400, 0x40e78c9e ) /* green */
  2029.     ROM_LOAD( "up03_k2.rom",  0x00800, 0x00400, 0xd845d5ac ) /* blue */
  2030.     ROM_LOAD( "mb7122e.8j",   0x0c00, 0x400, 0xc20b197b ) /* ? */
  2031.     ROM_LOAD( "mb7122e.8k",   0x1000, 0x400, 0x5d0c617f ) /* ? */
  2032.  
  2033.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  2034.     ROM_LOAD( "up02_a3.rom",  0x0000, 0x8000,  0x11a71919 )
  2035.  
  2036.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  2037.     ROM_LOAD( "up01_f1.rom",  0x00000, 0x10000, 0x167e5765 )
  2038.     ROM_LOAD( "up01_d1.rom",  0x10000, 0x10000, 0x8b0fe8d0 )
  2039.     ROM_LOAD( "up01_c1.rom",  0x20000, 0x10000, 0xf4361c50 )
  2040.     ROM_LOAD( "up01_a1.rom",  0x30000, 0x10000, 0xe4b0b95e )
  2041.  
  2042.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  2043.     ROM_LOAD( "up02_f3.rom",  0x00000, 0x8000, 0xf96f82db )
  2044.     ROM_LOAD( "up02_e3.rom",  0x10000, 0x8000, 0x2b007733 )
  2045.     ROM_LOAD( "up02_c3.rom",  0x20000, 0x8000, 0xefa830e1 )
  2046.     ROM_LOAD( "up02_b3.rom",  0x30000, 0x8000, 0x24559ee1 )
  2047.  
  2048.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  2049.     ROM_LOAD( "up01_f10.rom",  0x00000, 0x10000, 0x2bac250e )
  2050.     ROM_LOAD( "up01_h10.rom",  0x10000, 0x10000, 0x5e1ba353 )
  2051.     ROM_LOAD( "up01_j10.rom",  0x20000, 0x10000, 0x9ff91a97 )
  2052.     ROM_LOAD( "up01_l10.rom",  0x30000, 0x10000, 0xae1965ef )
  2053.     ROM_LOAD( "up01_m10.rom",  0x40000, 0x10000, 0xdf283b67 )
  2054.     ROM_LOAD( "up01_n10.rom",  0x50000, 0x10000, 0x914f051f )
  2055.     ROM_LOAD( "up01_r10.rom",  0x60000, 0x10000, 0xc4488472 )
  2056.     ROM_LOAD( "up01_s10.rom",  0x70000, 0x10000, 0x8ec7fe18 )
  2057.  
  2058.     ROM_REGION( 0x40000, REGION_SOUND1 )
  2059.     ROM_LOAD( "p1",  0x00000, 0x10000, 0x58f1683f )
  2060.     ROM_LOAD( "p2",  0x10000, 0x10000, 0xda3abda1 )
  2061.     ROM_LOAD( "p3",  0x20000, 0x10000, 0xf3683ae8 )
  2062.     ROM_LOAD( "p4",  0x30000, 0x10000, 0x437d775a )
  2063. ROM_END
  2064.  
  2065. ROM_START( psychosj )
  2066.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  2067.     ROM_LOAD( "up03_m4.rom",  0x0000, 0x10000,  0x05dfb409 )
  2068.  
  2069.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  2070.     ROM_LOAD( "up03_m8.rom",  0x00000, 0x10000, 0x5f426ddb )
  2071.  
  2072.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  2073.     ROM_LOAD( "up03_j6.rom",  0x00000, 0x10000, 0xbbd0a8e3 )
  2074.  
  2075.     ROM_REGION( 0x1400, REGION_PROMS )
  2076.     ROM_LOAD( "up03_k1.rom",  0x00000, 0x00400, 0x27b8ca8c ) /* red */
  2077.     ROM_LOAD( "up03_l1.rom",  0x00400, 0x00400, 0x40e78c9e ) /* green */
  2078.     ROM_LOAD( "up03_k2.rom",  0x00800, 0x00400, 0xd845d5ac ) /* blue */
  2079.     ROM_LOAD( "mb7122e.8j",   0x0c00, 0x400, 0xc20b197b ) /* ? */
  2080.     ROM_LOAD( "mb7122e.8k",   0x1000, 0x400, 0x5d0c617f ) /* ? */
  2081.  
  2082.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  2083.     ROM_LOAD( "up02_a3.rom",  0x0000, 0x8000,  0x11a71919 )
  2084.  
  2085.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  2086.     ROM_LOAD( "up01_f1.rom",  0x00000, 0x10000, 0x167e5765 )
  2087.     ROM_LOAD( "up01_d1.rom",  0x10000, 0x10000, 0x8b0fe8d0 )
  2088.     ROM_LOAD( "up01_c1.rom",  0x20000, 0x10000, 0xf4361c50 )
  2089.     ROM_LOAD( "up01_a1.rom",  0x30000, 0x10000, 0xe4b0b95e )
  2090.  
  2091.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  2092.     ROM_LOAD( "up02_f3.rom",  0x00000, 0x8000, 0xf96f82db )
  2093.     ROM_LOAD( "up02_e3.rom",  0x10000, 0x8000, 0x2b007733 )
  2094.     ROM_LOAD( "up02_c3.rom",  0x20000, 0x8000, 0xefa830e1 )
  2095.     ROM_LOAD( "up02_b3.rom",  0x30000, 0x8000, 0x24559ee1 )
  2096.  
  2097.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  2098.     ROM_LOAD( "up01_f10.rom",  0x00000, 0x10000, 0x2bac250e )
  2099.     ROM_LOAD( "up01_h10.rom",  0x10000, 0x10000, 0x5e1ba353 )
  2100.     ROM_LOAD( "up01_j10.rom",  0x20000, 0x10000, 0x9ff91a97 )
  2101.     ROM_LOAD( "up01_l10.rom",  0x30000, 0x10000, 0xae1965ef )
  2102.     ROM_LOAD( "up01_m10.rom",  0x40000, 0x10000, 0xdf283b67 )
  2103.     ROM_LOAD( "up01_n10.rom",  0x50000, 0x10000, 0x914f051f )
  2104.     ROM_LOAD( "up01_r10.rom",  0x60000, 0x10000, 0xc4488472 )
  2105.     ROM_LOAD( "up01_s10.rom",  0x70000, 0x10000, 0x8ec7fe18 )
  2106.  
  2107.     ROM_REGION( 0x40000, REGION_SOUND1 )
  2108.     ROM_LOAD( "up03_b5.rom",  0x00000, 0x10000, 0x0f8e8276 )
  2109.     ROM_LOAD( "up03_c5.rom",  0x10000, 0x10000, 0x34e41dfb )
  2110.     ROM_LOAD( "up03_d5.rom",  0x20000, 0x10000, 0xaa583c5e )
  2111.     ROM_LOAD( "up03_f5.rom",  0x30000, 0x10000, 0x7e8bce7a )
  2112. ROM_END
  2113.  
  2114. /***********************************************************************/
  2115.  
  2116. ROM_START( chopper )
  2117.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  2118.     ROM_LOAD( "kk_01.rom",  0x0000, 0x10000,  0x8fa2f839 )
  2119.  
  2120.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  2121.     ROM_LOAD( "kk_04.rom",  0x00000, 0x10000, 0x004f7d9a )
  2122.  
  2123.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  2124.     ROM_LOAD( "kk_03.rom",  0x00000, 0x10000, 0xdbaafb87 )   /* YM3526 */
  2125.  
  2126.     ROM_REGION( 0x0c00, REGION_PROMS )
  2127.     ROM_LOAD( "up03_k1.rom",  0x0000, 0x0400, 0x7f07a45c ) /* red */
  2128.     ROM_LOAD( "up03_l1.rom",  0x0400, 0x0400, 0x15359fc3 ) /* green */
  2129.     ROM_LOAD( "up03_k2.rom",  0x0800, 0x0400, 0x79b50f7d ) /* blue */
  2130.  
  2131.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  2132.     ROM_LOAD( "kk_05.rom",  0x0000, 0x8000, 0xdefc0987 )
  2133.  
  2134.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  2135.     ROM_LOAD( "kk_10.rom",  0x00000, 0x10000, 0x5cf4d22b )
  2136.     ROM_LOAD( "kk_11.rom",  0x10000, 0x10000, 0x9af4cad0 )
  2137.     ROM_LOAD( "kk_12.rom",  0x20000, 0x10000, 0x02fec778 )
  2138.     ROM_LOAD( "kk_13.rom",  0x30000, 0x10000, 0x2756817d )
  2139.  
  2140.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  2141.     ROM_LOAD( "kk_09.rom",  0x00000, 0x08000, 0x653c4342 )
  2142.     ROM_LOAD( "kk_08.rom",  0x10000, 0x08000, 0x2da45894 )
  2143.     ROM_LOAD( "kk_07.rom",  0x20000, 0x08000, 0xa0ebebdf )
  2144.     ROM_LOAD( "kk_06.rom",  0x30000, 0x08000, 0x284fad9e )
  2145.  
  2146.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  2147.     ROM_LOAD( "kk_18.rom",  0x00000, 0x10000, 0x6abbff36 )
  2148.     ROM_LOAD( "kk_19.rom",  0x10000, 0x10000, 0x5283b4d3 )
  2149.     ROM_LOAD( "kk_20.rom",  0x20000, 0x10000, 0x6403ddf2 )
  2150.     ROM_LOAD( "kk_21.rom",  0x30000, 0x10000, 0x9f411940 )
  2151.     ROM_LOAD( "kk_14.rom",  0x40000, 0x10000, 0x9bad9e25 )
  2152.     ROM_LOAD( "kk_15.rom",  0x50000, 0x10000, 0x89faf590 )
  2153.     ROM_LOAD( "kk_16.rom",  0x60000, 0x10000, 0xefb1fb6c )
  2154.     ROM_LOAD( "kk_17.rom",  0x70000, 0x10000, 0x6b7fb0a5 )
  2155.  
  2156.     ROM_REGION( 0x10000, REGION_SOUND1 )
  2157.     ROM_LOAD( "kk_02.rom",  0x00000, 0x10000, 0x06169ae0 )
  2158. ROM_END
  2159.  
  2160. ROM_START( legofair ) /* ChopperI (Japan) */
  2161.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  2162.     ROM_LOAD( "up03_m4.rom",  0x0000, 0x10000,  0x79a485c0 )
  2163.  
  2164.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  2165.     ROM_LOAD( "up03_m8.rom",  0x00000, 0x10000, 0x96d3a4d9 )
  2166.  
  2167.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  2168.     ROM_LOAD( "kk_03.rom",  0x00000, 0x10000, 0xdbaafb87 )
  2169.  
  2170.     ROM_REGION( 0x0c00, REGION_PROMS )
  2171.     ROM_LOAD( "up03_k1.rom",  0x0000, 0x0400, 0x7f07a45c ) /* red */
  2172.     ROM_LOAD( "up03_l1.rom",  0x0400, 0x0400, 0x15359fc3 ) /* green */
  2173.     ROM_LOAD( "up03_k2.rom",  0x0800, 0x0400, 0x79b50f7d ) /* blue */
  2174.  
  2175.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  2176.     ROM_LOAD( "kk_05.rom",  0x0000, 0x8000, 0xdefc0987 )
  2177.  
  2178.     ROM_REGION( 0x40000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  2179.     ROM_LOAD( "kk_10.rom",  0x00000, 0x10000, 0x5cf4d22b )
  2180.     ROM_LOAD( "kk_11.rom",  0x10000, 0x10000, 0x9af4cad0 )
  2181.     ROM_LOAD( "kk_12.rom",  0x20000, 0x10000, 0x02fec778 )
  2182.     ROM_LOAD( "kk_13.rom",  0x30000, 0x10000, 0x2756817d )
  2183.  
  2184.     ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  2185.     ROM_LOAD( "kk_09.rom",  0x00000, 0x08000, 0x653c4342 )
  2186.     ROM_LOAD( "kk_08.rom",  0x10000, 0x08000, 0x2da45894 )
  2187.     ROM_LOAD( "kk_07.rom",  0x20000, 0x08000, 0xa0ebebdf )
  2188.     ROM_LOAD( "kk_06.rom",  0x30000, 0x08000, 0x284fad9e )
  2189.  
  2190.     ROM_REGION( 0x80000, REGION_GFX4 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  2191.     ROM_LOAD( "kk_18.rom",  0x00000, 0x10000, 0x6abbff36 )
  2192.     ROM_LOAD( "kk_19.rom",  0x10000, 0x10000, 0x5283b4d3 )
  2193.     ROM_LOAD( "kk_20.rom",  0x20000, 0x10000, 0x6403ddf2 )
  2194.     ROM_LOAD( "kk_21.rom",  0x30000, 0x10000, 0x9f411940 )
  2195.     ROM_LOAD( "kk_14.rom",  0x40000, 0x10000, 0x9bad9e25 )
  2196.     ROM_LOAD( "kk_15.rom",  0x50000, 0x10000, 0x89faf590 )
  2197.     ROM_LOAD( "kk_16.rom",  0x60000, 0x10000, 0xefb1fb6c )
  2198.     ROM_LOAD( "kk_17.rom",  0x70000, 0x10000, 0x6b7fb0a5 )
  2199.  
  2200.     ROM_REGION( 0x10000, REGION_SOUND1 )
  2201.     ROM_LOAD( "kk_02.rom",  0x00000, 0x10000, 0x06169ae0 )
  2202. ROM_END
  2203.  
  2204. /***********************************************************************/
  2205.  
  2206. ROM_START( ftsoccer )
  2207.     ROM_REGION( 0x10000, REGION_CPU1 )     /* 64k for cpuA code */
  2208.     ROM_LOAD( "ft-003.bin",  0x00000, 0x10000, 0x649d4448 )
  2209.  
  2210.     ROM_REGION( 0x10000, REGION_CPU2 )     /* 64k for cpuB code */
  2211.     ROM_LOAD( "ft-001.bin",  0x00000, 0x10000, 0x2f68e38b )
  2212.  
  2213.     ROM_REGION( 0x10000, REGION_CPU3 )     /* 64k for sound code */
  2214.     ROM_LOAD( "ft-002.bin",  0x00000, 0x10000, 0x9ee54ea1 )
  2215.  
  2216.     ROM_REGION( 0x0c00, REGION_PROMS )
  2217.     ROM_LOAD( "prom2.bin", 0x000, 0x400, 0xbf4ac706 ) /* red */
  2218.     ROM_LOAD( "prom1.bin", 0x400, 0x400, 0x1bac8010 ) /* green */
  2219.     ROM_LOAD( "prom3.bin", 0x800, 0x400, 0xdbeddb14 ) /* blue */
  2220.  
  2221.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  2222.     ROM_LOAD( "ft-013.bin",  0x0000, 0x08000, 0x0de7b7ad )
  2223.  
  2224.     ROM_REGION( 0x50000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* background tiles */
  2225.     ROM_LOAD( "ft-014.bin",  0x00000, 0x10000, 0x38c38b40 )
  2226.     ROM_LOAD( "ft-015.bin",  0x10000, 0x10000, 0xa614834f )
  2227.  
  2228. //    ROM_REGION( 0x40000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 16x16 sprites */
  2229.  
  2230.     ROM_REGION( 0x80000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  2231.     ROM_LOAD( "ft-005.bin",  0x10000, 0x10000, 0xdef2f1d8 )
  2232.     ROM_LOAD( "ft-006.bin",  0x00000, 0x10000, 0x588d14b3 )
  2233.  
  2234.     ROM_LOAD( "ft-007.bin",  0x30000, 0x10000, 0xd584964b )
  2235.     ROM_LOAD( "ft-008.bin",  0x20000, 0x10000, 0x11156a7d )
  2236.  
  2237.     ROM_LOAD( "ft-009.bin",  0x50000, 0x10000, 0xd8112aa6 )
  2238.     ROM_LOAD( "ft-010.bin",  0x40000, 0x10000, 0xe42864d8 )
  2239.  
  2240.     ROM_LOAD( "ft-011.bin",  0x70000, 0x10000, 0x022f3e96 )
  2241.     ROM_LOAD( "ft-012.bin",  0x60000, 0x10000, 0xb2442c30 )
  2242.  
  2243.     ROM_REGION( 0x10000, REGION_SOUND1 )
  2244.     ROM_LOAD( "ft-004.bin",  0x00000, 0x10000, 0x435c3716 )
  2245. ROM_END
  2246.  
  2247. /***********************************************************************/
  2248.  
  2249. ROM_START( tdfever ) /* USA set */
  2250.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  2251.     ROM_LOAD( "td2-ver3.6c",  0x0000, 0x10000,  0x92138fe4 )
  2252.  
  2253.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  2254.     ROM_LOAD( "td1-ver3.2c",  0x00000, 0x10000, 0x798711f5 )
  2255.  
  2256.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  2257.     ROM_LOAD( "td3-ver3.3j",  0x00000, 0x10000, 0x5d13e0b1 )
  2258.  
  2259.     ROM_REGION( 0x0c00, REGION_PROMS )
  2260.     ROM_LOAD( "up03_e8.rom",  0x000, 0x00400, 0x67bdf8a0 )
  2261.     ROM_LOAD( "up03_d8.rom",  0x400, 0x00400, 0x9c4a9198 )
  2262.     ROM_LOAD( "up03_e9.rom",  0x800, 0x00400, 0xc93c18e8 )
  2263.  
  2264.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  2265.     ROM_LOAD( "td14ver3.4n",  0x0000, 0x8000,  0xe841bf1a )
  2266.  
  2267.     ROM_REGION( 0x50000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  2268.     ROM_LOAD( "up01_d8.rom",  0x00000, 0x10000, 0xad6e0927 )
  2269.     ROM_LOAD( "up01_e8.rom",  0x10000, 0x10000, 0x181db036 )
  2270.     ROM_LOAD( "up01_f8.rom",  0x20000, 0x10000, 0xc5decca3 )
  2271.     ROM_LOAD( "td18ver2.8gh", 0x30000, 0x10000, 0x3924da37 )
  2272.     ROM_LOAD( "up01_j8.rom",  0x40000, 0x10000, 0xbc17ea7f )
  2273.  
  2274.     ROM_REGION( 0x80000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  2275.     ROM_LOAD( "up01_k2.rom",  0x00000, 0x10000, 0x72a5590d )
  2276.     ROM_LOAD( "up01_l2.rom",  0x30000, 0x10000, 0x28f49182 )
  2277.     ROM_LOAD( "up01_n2.rom",  0x20000, 0x10000, 0xa8979657 )
  2278.     ROM_LOAD( "up01_j2.rom",  0x10000, 0x10000, 0x9b6d4053 )
  2279.     ROM_LOAD( "up01_r2.rom",  0x40000, 0x10000, 0xa0d53fbd )
  2280.     ROM_LOAD( "up01_p2.rom",  0x50000, 0x10000, 0xc8c71c7b )
  2281.     ROM_LOAD( "up01_t2.rom",  0x60000, 0x10000, 0x88e2e819 )
  2282.     ROM_LOAD( "up01_s2.rom",  0x70000, 0x10000, 0xf6f83d63 )
  2283.  
  2284.     ROM_REGION( 0x20000, REGION_SOUND1 )
  2285.     ROM_LOAD( "up02_n6.rom",  0x00000, 0x10000, 0x155e472e )
  2286.     ROM_LOAD( "up02_p6.rom",  0x10000, 0x10000, 0x04794557 )
  2287. ROM_END
  2288.  
  2289. ROM_START( tdfeverj )
  2290.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for cpuA code */
  2291.     ROM_LOAD( "up02_c6.rom",  0x0000, 0x10000,  0x88d88ec4 )
  2292.  
  2293.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for cpuB code */
  2294.     ROM_LOAD( "up02_c2.rom",  0x00000, 0x10000, 0x191e6442 )
  2295.  
  2296.     ROM_REGION( 0x10000, REGION_CPU3 )    /* 64k for sound code */
  2297.     ROM_LOAD( "up02_j3.rom",  0x00000, 0x10000, 0x4e4d71c7 )
  2298.  
  2299.     ROM_REGION( 0x0c00, REGION_PROMS )
  2300.     ROM_LOAD( "up03_e8.rom",  0x000, 0x00400, 0x67bdf8a0 )
  2301.     ROM_LOAD( "up03_d8.rom",  0x400, 0x00400, 0x9c4a9198 )
  2302.     ROM_LOAD( "up03_e9.rom",  0x800, 0x00400, 0xc93c18e8 )
  2303.  
  2304.     ROM_REGION( 0x8000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* characters */
  2305.     ROM_LOAD( "up01_n4.rom",  0x0000, 0x8000,  0xaf9bced5 )
  2306.  
  2307.     ROM_REGION( 0x50000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* tiles */
  2308.     ROM_LOAD( "up01_d8.rom",  0x00000, 0x10000, 0xad6e0927 )
  2309.     ROM_LOAD( "up01_e8.rom",  0x10000, 0x10000, 0x181db036 )
  2310.     ROM_LOAD( "up01_f8.rom",  0x20000, 0x10000, 0xc5decca3 )
  2311.     ROM_LOAD( "up01_g8.rom",  0x30000, 0x10000, 0x4512cdfb )
  2312.     ROM_LOAD( "up01_j8.rom",  0x40000, 0x10000, 0xbc17ea7f )
  2313.  
  2314.     ROM_REGION( 0x80000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* 32x32 sprites */
  2315.     ROM_LOAD( "up01_k2.rom",  0x00000, 0x10000, 0x72a5590d )
  2316.     ROM_LOAD( "up01_l2.rom",  0x30000, 0x10000, 0x28f49182 )
  2317.     ROM_LOAD( "up01_n2.rom",  0x20000, 0x10000, 0xa8979657 )
  2318.     ROM_LOAD( "up01_j2.rom",  0x10000, 0x10000, 0x9b6d4053 )
  2319.     ROM_LOAD( "up01_t2.rom",  0x40000, 0x10000, 0x88e2e819 )
  2320.     ROM_LOAD( "up01_s2.rom",  0x50000, 0x10000, 0xf6f83d63 )
  2321.     ROM_LOAD( "up01_r2.rom",  0x60000, 0x10000, 0xa0d53fbd )
  2322.     ROM_LOAD( "up01_p2.rom",  0x70000, 0x10000, 0xc8c71c7b )
  2323.  
  2324.     ROM_REGION( 0x20000, REGION_SOUND1 )
  2325.     ROM_LOAD( "up02_n6.rom",  0x00000, 0x10000, 0x155e472e )
  2326.     ROM_LOAD( "up02_p6.rom",  0x10000, 0x10000, 0x04794557 )
  2327. ROM_END
  2328.  
  2329. /***********************************************************************/
  2330.  
  2331. #define SNK_JOY1_PORT \
  2332.     PORT_START \
  2333.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY ) \
  2334.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY ) \
  2335.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY ) \
  2336.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY ) \
  2337.     PORT_ANALOGX( 0xf0, 0x00, IPT_DIAL, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 ) \
  2338.  
  2339. #define SNK_JOY2_PORT \
  2340.     PORT_START \
  2341.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 ) \
  2342.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 ) \
  2343.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 ) \
  2344.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 ) \
  2345.     PORT_ANALOGX( 0xf0, 0x00, IPT_DIAL | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
  2346.  
  2347. #define SNK_BUTTON_PORT \
  2348.     PORT_START \
  2349.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) \
  2350.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) \
  2351.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
  2352.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 ) \
  2353.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 ) \
  2354.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
  2355.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
  2356.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2357.  
  2358. #define SNK_COINAGE \
  2359.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) \
  2360.     PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) ) \
  2361.     PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) ) \
  2362.     PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) ) \
  2363.     PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) ) \
  2364.     PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) \
  2365.     PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) ) \
  2366.     PORT_DIPSETTING(    0x40, DEF_STR( 1C_3C ) ) \
  2367.     PORT_DIPSETTING(    0x80, DEF_STR( 1C_4C ) ) \
  2368.     PORT_DIPSETTING(    0xc0, DEF_STR( 1C_6C ) )
  2369.  
  2370. INPUT_PORTS_START( ikari )
  2371.     PORT_START
  2372.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* sound CPU status */
  2373.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
  2374.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2375.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2376.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  2377.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  2378.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  2379.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  2380.  
  2381.     SNK_JOY1_PORT
  2382.  
  2383.     SNK_JOY2_PORT
  2384.  
  2385.     SNK_BUTTON_PORT
  2386.  
  2387.     PORT_START /* DSW 1 */
  2388.     PORT_DIPNAME( 0x01, 0x01, "Allow killing each other" )
  2389.     PORT_DIPSETTING(    0x01, DEF_STR( No ) )
  2390.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  2391.     PORT_DIPNAME( 0x02, 0x02, "P1 & P2 Fire Buttons" )
  2392.     PORT_DIPSETTING(    0x02, "Separate" )
  2393.     PORT_DIPSETTING(    0x00, "Common" )
  2394.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occurance" )
  2395.     PORT_DIPSETTING(    0x04, "1st & every 2nd" )
  2396.     PORT_DIPSETTING(    0x00, "1st & 2nd only" )
  2397.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  2398.     PORT_DIPSETTING(    0x08, "3" )
  2399.     PORT_DIPSETTING(    0x00, "5" )
  2400.     SNK_COINAGE
  2401.  
  2402.     PORT_START /* DSW 2 */
  2403.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  2404.     PORT_DIPSETTING(    0x03, "Easy" )
  2405.     PORT_DIPSETTING(    0x02, "Normal" )
  2406.     PORT_DIPSETTING(    0x01, "Hard" )
  2407.     PORT_DIPSETTING(    0x00, "Hardest" )
  2408.     PORT_DIPNAME( 0x0c, 0x08, "Game Mode" )
  2409.     PORT_DIPSETTING(    0x0c, "Demo Sounds Off" )
  2410.     PORT_DIPSETTING(    0x08, "Demo Sounds On" )
  2411.     PORT_DIPSETTING(    0x04, "Freeze" )
  2412.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  2413.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  2414.     PORT_DIPSETTING(    0x30, "50k 100k" )
  2415.     PORT_DIPSETTING(    0x20, "60k 120k" )
  2416.     PORT_DIPSETTING(    0x10, "100k 200k" )
  2417.     PORT_DIPSETTING(    0x00, "None" )
  2418.     PORT_DIPNAME( 0x40 ,0x40, DEF_STR( Unused ) )
  2419.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  2420.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2421.     PORT_DIPNAME( 0x80, 0x00, "Allow Continue" )
  2422.     PORT_DIPSETTING(    0x80, DEF_STR( No ) )
  2423.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  2424. INPUT_PORTS_END
  2425.  
  2426. INPUT_PORTS_START( ikarijp )
  2427.     PORT_START
  2428.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  2429.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  2430.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
  2431.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
  2432.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
  2433.     PORT_BIT( 0x20, IP_ACTIVE_LOW,IPT_UNKNOWN ) /* sound CPU status */
  2434.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2435.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tilt? */
  2436.  
  2437.     SNK_JOY1_PORT
  2438.  
  2439.     SNK_JOY2_PORT
  2440.  
  2441.     SNK_BUTTON_PORT
  2442.  
  2443.     PORT_START /* DSW 1 */
  2444.     PORT_DIPNAME( 0x01, 0x01, "Allow killing each other" )
  2445.     PORT_DIPSETTING(    0x01, DEF_STR( No ) )
  2446.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  2447.     PORT_DIPNAME( 0x02, 0x02, "P1 & P2 Fire Buttons" )
  2448.     PORT_DIPSETTING(    0x02, "Separate" )
  2449.     PORT_DIPSETTING(    0x00, "Common" )
  2450.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occurance" )
  2451.     PORT_DIPSETTING(    0x04, "1st & every 2nd" )
  2452.     PORT_DIPSETTING(    0x00, "1st & 2nd only" )
  2453.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  2454.     PORT_DIPSETTING(    0x08, "3" )
  2455.     PORT_DIPSETTING(    0x00, "5" )
  2456.     SNK_COINAGE
  2457.  
  2458.     PORT_START /* DSW 2 */
  2459.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  2460.     PORT_DIPSETTING(    0x03, "Easy" )
  2461.     PORT_DIPSETTING(    0x02, "Normal" )
  2462.     PORT_DIPSETTING(    0x01, "Hard" )
  2463.     PORT_DIPSETTING(    0x00, "Hardest" )
  2464.     PORT_DIPNAME( 0x0c, 0x08, "Game Mode" )
  2465.     PORT_DIPSETTING(    0x0c, "Demo Sounds Off" )
  2466.     PORT_DIPSETTING(    0x08, "Demo Sounds On" )
  2467.     PORT_DIPSETTING(    0x04, "Freeze" )
  2468.     PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  2469.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  2470.     PORT_DIPSETTING(    0x30, "50k 100k" )
  2471.     PORT_DIPSETTING(    0x20, "60k 120k" )
  2472.     PORT_DIPSETTING(    0x10, "100k 200k" )
  2473.     PORT_DIPSETTING(    0x00, "None" )
  2474.     PORT_DIPNAME( 0x40 ,0x40, DEF_STR( Unused ) )
  2475.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  2476.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2477.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  2478.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  2479.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2480. INPUT_PORTS_END
  2481.  
  2482.  
  2483. INPUT_PORTS_START( victroad )
  2484.     PORT_START
  2485.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )     /* sound related ??? */
  2486.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
  2487.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2488.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2489.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  2490.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  2491.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  2492.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  2493.  
  2494.     SNK_JOY1_PORT
  2495.  
  2496.     SNK_JOY2_PORT
  2497.  
  2498.     SNK_BUTTON_PORT
  2499.  
  2500.     PORT_START /* DSW 1 */
  2501.     PORT_BITX( 0x01,    0x01, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Kill friend & walk everywhere" ,0 ,0 )
  2502.     PORT_DIPSETTING(    0x01, DEF_STR( No ) )
  2503.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  2504.     PORT_DIPNAME( 0x02, 0x02, "P1 & P2 Fire Buttons" )
  2505.     PORT_DIPSETTING(    0x02, "Separate" )
  2506.     PORT_DIPSETTING(    0x00, "Common" )
  2507.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occurance" )
  2508.     PORT_DIPSETTING(    0x04, "1st & every 2nd" )
  2509.     PORT_DIPSETTING(    0x00, "1st & 2nd only" )
  2510.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  2511.     PORT_DIPSETTING(    0x08, "3" )
  2512.     PORT_DIPSETTING(    0x00, "5" )
  2513.     SNK_COINAGE
  2514.  
  2515.     PORT_START /* DSW 2 */
  2516.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  2517.     PORT_DIPSETTING(    0x03, "Easy" )
  2518.     PORT_DIPSETTING(    0x02, "Normal" )
  2519.     PORT_DIPSETTING(    0x01, "Hard" )
  2520.     PORT_DIPSETTING(    0x00, "Hardest" )
  2521.     PORT_DIPNAME( 0x0c, 0x08, "Game Mode" )
  2522.     PORT_DIPSETTING(    0x0c, "Demo Sounds Off" )
  2523.     PORT_DIPSETTING(    0x08, "Demo Sounds On" )
  2524.     PORT_DIPSETTING(    0x00, "Freeze" )
  2525.     PORT_BITX( 0,       0x04, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  2526.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  2527.     PORT_DIPSETTING(    0x30, "50k 100k" )
  2528.     PORT_DIPSETTING(    0x20, "60k 120k" )
  2529.     PORT_DIPSETTING(    0x10, "100k 200k" )
  2530.     PORT_DIPSETTING(    0x00, "None" )
  2531.     PORT_DIPNAME( 0x40 ,0x00, "Allow Continue" )
  2532.     PORT_DIPSETTING(    0x40, DEF_STR( No ) )
  2533.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  2534.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  2535.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  2536.     PORT_DIPSETTING(    0x80, DEF_STR( On ) )
  2537. INPUT_PORTS_END
  2538.  
  2539.  
  2540. INPUT_PORTS_START( gwar )
  2541.     PORT_START
  2542.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )     /* sound related ??? */
  2543.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
  2544.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* causes reset */
  2545.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2546.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  2547.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  2548.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  2549.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  2550.  
  2551.     SNK_JOY1_PORT
  2552.  
  2553.     SNK_JOY2_PORT
  2554.  
  2555.     SNK_BUTTON_PORT
  2556.  
  2557.     PORT_START /* DSW 1 */
  2558.     PORT_DIPNAME( 0x01, 0x01, "Allow Continue" )
  2559.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  2560.     PORT_DIPSETTING(    0x01, DEF_STR( Yes ) )
  2561.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  2562.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  2563.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2564.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occurance" )
  2565.     PORT_DIPSETTING(    0x04, "1st & every 2nd" )
  2566.     PORT_DIPSETTING(    0x00, "1st & 2nd only" )
  2567.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  2568.     PORT_DIPSETTING(    0x08, "3" )
  2569.     PORT_DIPSETTING(    0x00, "5" )
  2570.     SNK_COINAGE
  2571.  
  2572.     PORT_START /* DSW 2 */
  2573.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  2574.     PORT_DIPSETTING(    0x03, "Easy" )
  2575.     PORT_DIPSETTING(    0x02, "Normal" )
  2576.     PORT_DIPSETTING(    0x01, "Hard" )
  2577.     PORT_DIPSETTING(    0x00, "Hardest" )
  2578.     PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) )
  2579.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  2580.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2581.     PORT_DIPNAME( 0x08, 0x08, "Freeze" )
  2582.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  2583.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2584.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  2585.     PORT_DIPSETTING(    0x30, "30k 50k" )
  2586.     PORT_DIPSETTING(    0x20, "40k 80k" )
  2587.     PORT_DIPSETTING(    0x10, "50k 100k" )
  2588.     PORT_DIPSETTING(    0x00, "None" )
  2589.     PORT_DIPNAME( 0x40 ,0x40, DEF_STR( Unknown ) )
  2590.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  2591.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2592.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  2593.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  2594.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2595. INPUT_PORTS_END
  2596.  
  2597. INPUT_PORTS_START( athena )
  2598.     PORT_START
  2599.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )  /* sound CPU status */
  2600.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
  2601.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2602.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2603.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  2604.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  2605.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  2606.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  2607.  
  2608.     PORT_START
  2609.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  2610.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  2611.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  2612.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  2613.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  2614.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  2615.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2616.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2617.  
  2618.     PORT_START
  2619.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  2620.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  2621.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  2622.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  2623.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  2624.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  2625.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2626.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2627.  
  2628.     PORT_START    /* DSW1 */
  2629.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  2630.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  2631.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2632.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
  2633.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  2634.     PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
  2635.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occurance" )
  2636.     PORT_DIPSETTING(    0x04, "1st & every 2nd" )
  2637.     PORT_DIPSETTING(    0x00, "1st & 2nd only" )
  2638.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  2639.     PORT_DIPSETTING(    0x08, "3" )
  2640.     PORT_DIPSETTING(    0x00, "5" )
  2641.     SNK_COINAGE
  2642.  
  2643.     PORT_START /* DSW2 */
  2644.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  2645.     PORT_DIPSETTING(    0x03, "Easy" )
  2646.     PORT_DIPSETTING(    0x02, "Normal" )
  2647.     PORT_DIPSETTING(    0x01, "Hard" )
  2648.     PORT_DIPSETTING(    0x00, "Hardest" )
  2649.     PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) )
  2650.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  2651.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2652.     PORT_DIPNAME( 0x08, 0x08, "Freeze" )
  2653.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  2654.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2655.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  2656.     PORT_DIPSETTING(    0x30, "50k 100k" )
  2657.     PORT_DIPSETTING(    0x20, "80k 160k" )
  2658.     PORT_DIPSETTING(    0x10, "100k 200k" )
  2659.     PORT_DIPSETTING(    0x00, "None" )
  2660.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
  2661.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  2662.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2663.     PORT_DIPNAME( 0x80, 0x80, "Energy" )
  2664.     PORT_DIPSETTING(    0x80, "12" )
  2665.     PORT_DIPSETTING(    0x00, "14" )
  2666. INPUT_PORTS_END
  2667.  
  2668. INPUT_PORTS_START( tnk3 )
  2669.     PORT_START
  2670.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
  2671.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2672.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
  2673.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
  2674.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
  2675.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* sound CPU status */
  2676.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2677.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2678.  
  2679.     PORT_START
  2680.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  2681.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  2682.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  2683.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  2684.     PORT_ANALOGX( 0xf0, 0x00, IPT_DIAL, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 )
  2685.  
  2686.     PORT_START
  2687.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_COCKTAIL )
  2688.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_COCKTAIL )
  2689.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_COCKTAIL )
  2690.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_COCKTAIL )
  2691.     PORT_ANALOGX( 0xf0, 0x00, IPT_DIAL | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
  2692.  
  2693.     PORT_START
  2694.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
  2695.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  2696.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2697.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  2698.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  2699.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2700.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2701.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2702.  
  2703.     PORT_START    /* DSW1 */
  2704.     PORT_BITX( 0x01,    0x01, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Walk everywhere", IP_KEY_NONE, IP_JOY_NONE )
  2705.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  2706.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2707.     PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
  2708.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  2709.     PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
  2710.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
  2711.     PORT_DIPSETTING(    0x04, "3" )
  2712.     PORT_DIPSETTING(    0x00, "5" )
  2713.     PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) )
  2714.     /* 0x08 and 0x10: 1 Coin/1 Credit */
  2715.     PORT_DIPSETTING(    0x20, DEF_STR( 3C_1C ) )
  2716.     PORT_DIPSETTING(    0x18, DEF_STR( 2C_1C ) )
  2717.     PORT_DIPSETTING(    0x38, DEF_STR( 1C_1C ) )
  2718.     PORT_DIPSETTING(    0x30, DEF_STR( 1C_2C ) )
  2719.     PORT_DIPSETTING(    0x28, DEF_STR( 1C_3C ) )
  2720.     PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
  2721.     PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Bonus_Life ) )
  2722.     PORT_DIPSETTING(    0xc0, "20k 60k" )
  2723.     PORT_DIPSETTING(    0x80, "40k 90k" )
  2724.     PORT_DIPSETTING(    0x40, "50k 120k" )
  2725.     PORT_DIPSETTING(    0x00, "None" )
  2726.  
  2727.     PORT_START    /* DSW2 */
  2728.     PORT_DIPNAME( 0x01, 0x01, "Bonus Occurance" )
  2729.     PORT_DIPSETTING(    0x01, "1st & every 2nd" )
  2730.     PORT_DIPSETTING(    0x00, "1st & 2nd only" )
  2731.     PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) )
  2732.     PORT_DIPSETTING(    0x06, "Easy?" )
  2733.     PORT_DIPSETTING(    0x04, "Normal?" )
  2734.     PORT_DIPSETTING(    0x02, "Hard?" )
  2735.     PORT_DIPSETTING(    0x00, "Hardest?" )
  2736.     PORT_DIPNAME( 0x18, 0x10, "Game Mode" )
  2737.     PORT_DIPSETTING(    0x18, "Demo Sounds Off" )
  2738.     PORT_DIPSETTING(    0x10, "Demo Sounds On" )
  2739.     PORT_DIPSETTING(    0x00, "Freeze" )
  2740.     PORT_BITX( 0,       0x08, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  2741.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) )
  2742.     PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  2743.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2744.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  2745.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  2746.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2747.     PORT_DIPNAME( 0x80, 0x00, "Allow Continue" )
  2748.     PORT_DIPSETTING(    0x80, DEF_STR( No ) )
  2749.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  2750. INPUT_PORTS_END
  2751.  
  2752. INPUT_PORTS_START( bermudat )
  2753.     PORT_START
  2754.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* sound CPU status */
  2755.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
  2756.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tile? */
  2757.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2758.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  2759.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  2760.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  2761.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  2762.  
  2763.     SNK_JOY1_PORT
  2764.  
  2765.     SNK_JOY2_PORT
  2766.  
  2767.     SNK_BUTTON_PORT
  2768.  
  2769.     PORT_START  /* DSW 1 */
  2770.     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
  2771.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  2772.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  2773.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2774.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occurrence" )
  2775.     PORT_DIPSETTING(    0x04, "1st & every 2nd" )
  2776.     PORT_DIPSETTING(    0x00, "1st & 2nd only" )
  2777.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  2778.     PORT_DIPSETTING(    0x08, "3" )
  2779.     PORT_DIPSETTING(    0x00, "5" )
  2780.     SNK_COINAGE
  2781.  
  2782.     PORT_START  /* DSW 2 */
  2783.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  2784.     PORT_DIPSETTING(    0x03, "Easy" )
  2785.     PORT_DIPSETTING(    0x02, "Normal" )
  2786.     PORT_DIPSETTING(    0x01, "Hard" )
  2787.     PORT_DIPSETTING(    0x00, "Hardest" )
  2788.     PORT_DIPNAME( 0x0c, 0x08, "Game Mode" )
  2789.     PORT_DIPSETTING(    0x0c, "Demo Sounds Off" )
  2790.     PORT_DIPSETTING(    0x08, "Demo Sounds On" )
  2791.     PORT_DIPSETTING(    0x00, "Freeze" )
  2792.     PORT_BITX( 0,       0x04, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  2793.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  2794.     PORT_DIPSETTING(    0x30, "50k 100k" )
  2795.     PORT_DIPSETTING(    0x20, "60k 120k" )
  2796.     PORT_DIPSETTING(    0x10, "100k 200k" )
  2797.     PORT_DIPSETTING(    0x00, "None" )
  2798.     PORT_DIPNAME( 0xc0, 0xc0, "Game Style" )
  2799.     PORT_DIPSETTING(    0xc0, "Normal without continue" )
  2800.     PORT_DIPSETTING(    0x80, "Normal with continue" )
  2801.     PORT_DIPSETTING(    0x40, "Time attack 3 minutes" )
  2802.     PORT_DIPSETTING(    0x00, "Time attack 5 minutes" )
  2803. INPUT_PORTS_END
  2804.  
  2805. INPUT_PORTS_START( bermudaa )
  2806.     PORT_START
  2807.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* sound CPU status */
  2808.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
  2809.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tile? */
  2810.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2811.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  2812.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  2813.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  2814.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  2815.  
  2816.     SNK_JOY1_PORT
  2817.  
  2818.     SNK_JOY2_PORT
  2819.  
  2820.     SNK_BUTTON_PORT
  2821.  
  2822.     PORT_START  /* DSW 1 */
  2823.     PORT_DIPNAME( 0x01, 0x00, "Allow Continue" )
  2824.     PORT_DIPSETTING(    0x01, DEF_STR( No ) )
  2825.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  2826.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  2827.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  2828.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2829.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occurrence" )
  2830.     PORT_DIPSETTING(    0x04, "1st & every 2nd" )
  2831.     PORT_DIPSETTING(    0x00, "1st & 2nd only" )
  2832.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  2833.     PORT_DIPSETTING(    0x08, "3" )
  2834.     PORT_DIPSETTING(    0x00, "5" )
  2835.     SNK_COINAGE
  2836.  
  2837.     PORT_START  /* DSW 2 */
  2838.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  2839.     PORT_DIPSETTING(    0x03, "Easy" )
  2840.     PORT_DIPSETTING(    0x02, "Normal" )
  2841.     PORT_DIPSETTING(    0x01, "Hard" )
  2842.     PORT_DIPSETTING(    0x00, "Hardest" )
  2843.     PORT_DIPNAME( 0x0c, 0x08, "Game Mode" )
  2844.     PORT_DIPSETTING(    0x0c, "Demo Sounds Off" )
  2845.     PORT_DIPSETTING(    0x08, "Demo Sounds On" )
  2846.     PORT_DIPSETTING(    0x00, "Freeze" )
  2847.     PORT_BITX( 0,       0x04, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  2848.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  2849.     PORT_DIPSETTING(    0x30, "25k 50k" )
  2850.     PORT_DIPSETTING(    0x20, "35k 70k" )
  2851.     PORT_DIPSETTING(    0x10, "50K 100k" )
  2852.     PORT_DIPSETTING(    0x00, "None" )
  2853.     PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
  2854. INPUT_PORTS_END
  2855.  
  2856. /* Same as Bermudaa, but has different Bonus Life */
  2857. INPUT_PORTS_START( worldwar )
  2858.     PORT_START
  2859.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* sound CPU status */
  2860.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
  2861.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tile? */
  2862.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2863.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  2864.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  2865.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  2866.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  2867.  
  2868.     SNK_JOY1_PORT
  2869.  
  2870.     SNK_JOY2_PORT
  2871.  
  2872.     SNK_BUTTON_PORT
  2873.  
  2874.     PORT_START  /* DSW 1 */
  2875.     PORT_DIPNAME( 0x01, 0x00, "Allow Continue" )
  2876.     PORT_DIPSETTING(    0x01, DEF_STR( No ) )
  2877.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  2878.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  2879.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  2880.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2881.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occurrence" )
  2882.     PORT_DIPSETTING(    0x04, "1st & every 2nd" )
  2883.     PORT_DIPSETTING(    0x00, "1st & 2nd only" )
  2884.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  2885.     PORT_DIPSETTING(    0x08, "3" )
  2886.     PORT_DIPSETTING(    0x00, "5" )
  2887.     SNK_COINAGE
  2888.  
  2889.     PORT_START  /* DSW 2 */
  2890.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  2891.     PORT_DIPSETTING(    0x03, "Easy" )
  2892.     PORT_DIPSETTING(    0x02, "Normal" )
  2893.     PORT_DIPSETTING(    0x01, "Hard" )
  2894.     PORT_DIPSETTING(    0x00, "Hardest" )
  2895.     PORT_DIPNAME( 0x0c, 0x08, "Game Mode" )
  2896.     PORT_DIPSETTING(    0x0c, "Demo Sounds Off" )
  2897.     PORT_DIPSETTING(    0x08, "Demo Sounds On" )
  2898.     PORT_DIPSETTING(    0x00, "Freeze" )
  2899.     PORT_BITX( 0,       0x04, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  2900.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  2901.     PORT_DIPSETTING(    0x30, "50k 100k" )
  2902.     PORT_DIPSETTING(    0x20, "80k 120k" )
  2903.     PORT_DIPSETTING(    0x10, "100k 200k" )
  2904.     PORT_DIPSETTING(    0x00, "None" )
  2905.     PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
  2906. INPUT_PORTS_END
  2907.  
  2908. INPUT_PORTS_START( psychos )
  2909.     PORT_START
  2910.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )  /* sound related */
  2911.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2912.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )  /* reset */
  2913.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2914.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  2915.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  2916.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  2917.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  2918.  
  2919.     PORT_START
  2920.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 )
  2921.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 )
  2922.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 )
  2923.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
  2924.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  2925.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  2926.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  2927.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  2928.  
  2929.     SNK_BUTTON_PORT
  2930.  
  2931.     PORT_START  /* DSW 1 */
  2932.     PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
  2933.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  2934.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  2935.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2936.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occurrence" )
  2937.     PORT_DIPSETTING(    0x00, "1st & every 2nd" )
  2938.     PORT_DIPSETTING(    0x04, "1st & 2nd only" )
  2939.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  2940.     PORT_DIPSETTING(    0x08, "3" )
  2941.     PORT_DIPSETTING(    0x00, "5" )
  2942.     SNK_COINAGE
  2943.  
  2944.     PORT_START  /* DSW 2 */
  2945.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  2946.     PORT_DIPSETTING(    0x02, "Easy" )
  2947.     PORT_DIPSETTING(    0x03, "Normal" )
  2948.     PORT_DIPSETTING(    0x01, "Hard" )
  2949.     PORT_DIPSETTING(    0x00, "Hardest" )
  2950.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
  2951.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  2952.     PORT_DIPSETTING(    0x04, DEF_STR( On ) )
  2953.     PORT_DIPNAME( 0x08, 0x08, "Freeze" )
  2954.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  2955.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2956.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  2957.     PORT_DIPSETTING(    0x30, "50K 100K" )
  2958.     PORT_DIPSETTING(    0x20, "60K 120K" )
  2959.     PORT_DIPSETTING(    0x10, "100K 200K" )
  2960.     PORT_DIPSETTING(    0x00, "None" )
  2961.     PORT_DIPNAME( 0x40, 0x00, "Allow Continue" )
  2962.     PORT_DIPSETTING(    0x40, DEF_STR( No ) )
  2963.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  2964.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
  2965.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  2966.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  2967. INPUT_PORTS_END
  2968.  
  2969. INPUT_PORTS_START( legofair )
  2970.     PORT_START
  2971.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )  /* sound CPU status */
  2972.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2973.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )  /* Reset */
  2974.     PORT_BITX(0x08, 0x08, IPT_SERVICE, DEF_STR( Service_Mode), KEYCODE_F2, IP_JOY_NONE )
  2975.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  2976.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  2977.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  2978.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  2979.  
  2980.     PORT_START
  2981.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
  2982.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
  2983.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
  2984.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  2985.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  2986.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  2987.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  2988.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  2989.  
  2990.     PORT_START
  2991.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
  2992.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  2993.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2994.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  2995.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  2996.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2997.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2998.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  2999.  
  3000.     PORT_START  /* DSW 1 */
  3001.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
  3002.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  3003.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3004.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) )
  3005.     PORT_DIPSETTING(    0x02, DEF_STR( Upright ) )
  3006.     PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
  3007.     PORT_DIPNAME( 0x04, 0x04, "Bonus Occourrance" )
  3008.     PORT_DIPSETTING(    0x00, "1st & every 2nd" )
  3009.     PORT_DIPSETTING(    0x04, "1st & 2nd only" )
  3010.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  3011.     PORT_DIPSETTING(    0x08, "3" )
  3012.     PORT_DIPSETTING(    0x00, "5" )
  3013.     SNK_COINAGE
  3014.  
  3015.     PORT_START  /* DSW 2 */
  3016.     PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  3017.     PORT_DIPSETTING(    0x02, "Easy" )
  3018.     PORT_DIPSETTING(    0x03, "Normal" )
  3019.     PORT_DIPSETTING(    0x01, "Hard" )
  3020.     PORT_DIPSETTING(    0x00, "Hardest" )
  3021.     PORT_DIPNAME( 0x0c, 0x0c, "Game Mode" )
  3022.     PORT_DIPSETTING(    0x08, "Demo Sounds Off" )
  3023.     PORT_DIPSETTING(    0x0c, "Demo Sounds On" )
  3024.     PORT_DIPSETTING(    0x00, "Freeze" )
  3025.     PORT_BITX( 0,       0x04, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  3026.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  3027.     PORT_DIPSETTING(    0x30, "50k 100k" )
  3028.     PORT_DIPSETTING(    0x20, "75k 150k" )
  3029.     PORT_DIPSETTING(    0x10, "100k 200k" )
  3030.     PORT_DIPSETTING(    0x00, "None" )
  3031.     PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
  3032.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  3033.     PORT_DIPSETTING(    0x40, DEF_STR( Yes ) )
  3034.     PORT_BITX( 0x80,    0x80, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability" , IP_KEY_NONE ,IP_JOY_NONE )
  3035.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  3036.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3037. INPUT_PORTS_END
  3038.  
  3039. INPUT_PORTS_START( fitegolf )
  3040.     PORT_START
  3041.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )  /* sound related? */
  3042.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
  3043.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3044.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3045.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
  3046.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  3047.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
  3048.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  3049.  
  3050.     PORT_START
  3051.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  3052.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  3053.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  3054.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  3055.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  3056.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  3057.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3058.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3059.  
  3060.     PORT_START
  3061.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
  3062.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
  3063.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
  3064.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
  3065.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
  3066.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
  3067.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3068.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3069.  
  3070.     PORT_START    /* DSW1 */
  3071.     PORT_DIPNAME( 0x01, 0x01, "Continue?" )
  3072.     PORT_DIPSETTING(    0x01, "Coin Up" )
  3073.     PORT_DIPSETTING(    0x00, "Standard" )
  3074.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  3075.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  3076.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3077.     PORT_DIPNAME( 0x04, 0x04, "Bonus?" )
  3078.     PORT_DIPSETTING(    0x04, "Every?" )
  3079.     PORT_DIPSETTING(    0x00, "Only?" )
  3080.     PORT_DIPNAME( 0x08, 0x08, "Lives?" )
  3081.     PORT_DIPSETTING(    0x08, "3" )
  3082.     PORT_DIPSETTING(    0x00, "5" )
  3083.     PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
  3084.     PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
  3085.     PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
  3086.     PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
  3087.     PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
  3088.     PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) )
  3089.     PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
  3090.     PORT_DIPSETTING(    0x40, DEF_STR( 1C_3C ) )
  3091.     PORT_DIPSETTING(    0x80, DEF_STR( 1C_4C ) )
  3092.     PORT_DIPSETTING(    0xc0, DEF_STR( 1C_6C ) )
  3093.  
  3094.     PORT_START /* DSW2 */
  3095.     PORT_DIPNAME( 0x03, 0x03, "Difficulty?" )
  3096.     PORT_DIPSETTING(    0x03, "Easy" )
  3097.     PORT_DIPSETTING(    0x02, "Normal" )
  3098.     PORT_DIPSETTING(    0x01, "Hard" )
  3099.     PORT_DIPSETTING(    0x00, "Hardest" )
  3100.     PORT_DIPNAME( 0x0c, 0x0c, "Game Mode" )
  3101.     PORT_DIPSETTING(    0x08, "Demo Sound Off" )
  3102.     PORT_DIPSETTING(    0x0c, "Demo Sound On" )
  3103.     PORT_DIPSETTING(    0x00, "Freeze" )
  3104.     PORT_BITX( 0,       0x04, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Never Finish?", IP_KEY_NONE, IP_JOY_NONE )
  3105.     PORT_DIPNAME( 0x30, 0x30, "Bonus?" )
  3106.     PORT_DIPSETTING(    0x30, "50k 100k?" )
  3107.     PORT_DIPSETTING(    0x20, "60k 120k?" )
  3108.     PORT_DIPSETTING(    0x10, "100k 200k?" )
  3109.     PORT_DIPSETTING(    0x00, "None?" )
  3110.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  3111.     PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  3112.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3113.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  3114.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  3115.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3116. INPUT_PORTS_END
  3117.  
  3118. INPUT_PORTS_START( ftsoccer )
  3119.     PORT_START
  3120.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3121.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3122.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
  3123.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )  /* sound CPU status */
  3124.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
  3125.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
  3126.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  3127.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  3128.  
  3129.     PORT_START
  3130.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
  3131.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  3132.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3133.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3134.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  3135.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  3136.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  3137.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  3138.  
  3139.     PORT_START
  3140.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
  3141.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
  3142.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3143.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3144.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
  3145.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 )
  3146.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 )
  3147.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 )
  3148.     PORT_START
  3149.  
  3150.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
  3151.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
  3152.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3153.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // START5?
  3154.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
  3155.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER3 )
  3156.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER3 )
  3157.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER3 )
  3158.  
  3159.     PORT_START
  3160.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
  3161.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
  3162.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 )
  3163.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 )
  3164.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
  3165.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER4 )
  3166.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER4 )
  3167.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER4 )
  3168.  
  3169.     PORT_START
  3170.     PORT_ANALOGX( 0x7f, 0x00, IPT_DIAL, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 )
  3171.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
  3172.  
  3173.     PORT_START
  3174.     PORT_ANALOGX( 0x7f, 0x00, IPT_DIAL | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
  3175.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
  3176.  
  3177.     PORT_START
  3178.     PORT_ANALOGX( 0x7f, 0x00, IPT_DIAL | IPF_PLAYER3, 25, 10, 0, 0, 0, 0, 0, 0 )
  3179.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
  3180.  
  3181.     PORT_START
  3182.     PORT_ANALOGX( 0x7f, 0x00, IPT_DIAL | IPF_PLAYER4, 25, 10, 0, 0, 0, 0, 0, 0 )
  3183.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
  3184.  
  3185.     PORT_START
  3186.     PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) )
  3187.     PORT_DIPSETTING(    0x03, "Upright (with vs)" )
  3188.     PORT_DIPSETTING(    0x02, "Upright (without vs)" )
  3189.     PORT_DIPSETTING(    0x00, "Cocktail (2 Players)" )
  3190.     PORT_DIPSETTING(    0x01, "Cocktail (4 Players)" )
  3191.     PORT_DIPNAME( 0x0c, 0x04, "Version" )
  3192.     PORT_DIPSETTING(    0x04, "Europe" )
  3193.     PORT_DIPSETTING(    0x00, "USA" )
  3194.     PORT_DIPSETTING(    0x08, "Japan" )
  3195. /*     PORT_DIPSETTING(    0x0c, "Europe" ) */
  3196.     SNK_COINAGE
  3197.  
  3198.     PORT_START
  3199.     PORT_DIPNAME( 0x01, 0x01, "Allow Continue" )
  3200.     PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  3201.     PORT_DIPSETTING(    0x01, DEF_STR( Yes ) )
  3202.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  3203.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  3204.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3205.     PORT_DIPNAME( 0x0c, 0x0c, "Game Mode" )
  3206.     PORT_DIPSETTING(    0x08, "Demo Sound Off" )
  3207.     PORT_DIPSETTING(    0x0c, "Demo Sound On" )
  3208.     PORT_DIPSETTING(    0x00, "Freeze" )
  3209.     PORT_BITX( 0,       0x04, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Never Finish", IP_KEY_NONE, IP_JOY_NONE )
  3210.     PORT_DIPNAME( 0x70, 0x70, "Play Time" )
  3211.     PORT_DIPSETTING(    0x10, "1:00" )
  3212.     PORT_DIPSETTING(    0x60, "1:10" )
  3213.     PORT_DIPSETTING(    0x50, "1:20" )
  3214.     PORT_DIPSETTING(    0x40, "1:30" )
  3215.     PORT_DIPSETTING(    0x30, "1:40" )
  3216.     PORT_DIPSETTING(    0x20, "1:50" )
  3217.     PORT_DIPSETTING(    0x70, "2:00" )
  3218.     PORT_DIPSETTING(    0x00, "2:10" )
  3219.     PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
  3220. INPUT_PORTS_END
  3221.  
  3222. INPUT_PORTS_START( tdfever )
  3223.     PORT_START
  3224.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  3225.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3226.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
  3227.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )  /* sound CPU status */
  3228.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
  3229.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
  3230.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
  3231.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  3232.  
  3233.     PORT_START
  3234.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
  3235.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  3236.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
  3237.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
  3238.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  3239.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
  3240.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
  3241.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
  3242.  
  3243.     PORT_START
  3244.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
  3245.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
  3246.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
  3247.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
  3248.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
  3249.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 )
  3250.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 )
  3251.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 )
  3252.     PORT_START
  3253.  
  3254.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
  3255.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
  3256.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3257.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3258.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
  3259.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER3 )
  3260.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER3 )
  3261.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER3 )
  3262.  
  3263.     PORT_START
  3264.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
  3265.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
  3266.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3267.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  3268.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
  3269.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER4 )
  3270.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER4 )
  3271.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER4 )
  3272.  
  3273.     PORT_START
  3274.     PORT_ANALOGX( 0x7f, 0x00, IPT_DIAL, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 )
  3275.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
  3276.  
  3277.     PORT_START
  3278.     PORT_ANALOGX( 0x7f, 0x00, IPT_DIAL | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
  3279.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
  3280.  
  3281.     PORT_START
  3282.     PORT_ANALOGX( 0x7f, 0x00, IPT_DIAL | IPF_PLAYER3, 25, 10, 0, 0, 0, 0, 0, 0 )
  3283.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
  3284.  
  3285.     PORT_START
  3286.     PORT_ANALOGX( 0x7f, 0x00, IPT_DIAL | IPF_PLAYER4, 25, 10, 0, 0, 0, 0, 0, 0 )
  3287.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
  3288.  
  3289.     PORT_START
  3290.     PORT_DIPNAME( 0x01, 0x00, "Allow Continue" )
  3291.     PORT_DIPSETTING(    0x01, DEF_STR( No ) )
  3292.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  3293.     PORT_DIPNAME( 0x02, 0x02, "Max Players" )
  3294.     PORT_DIPSETTING(    0x02, "2" )
  3295.     PORT_DIPSETTING(    0x00, "4" )
  3296.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  3297.     PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  3298.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3299.     PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  3300.     PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  3301.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3302.     PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )
  3303.     PORT_DIPSETTING(    0x00, "1 Coin/1 Credit 4/5" )
  3304.     PORT_DIPSETTING(    0x10, "1 Coin/1 Credit 3/4" )
  3305.     PORT_DIPSETTING(    0x20, "1 Coin/1 Credit 2/3" )
  3306.     PORT_DIPSETTING(    0x30, DEF_STR( 1C_2C ) )
  3307.     PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) )
  3308.     PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
  3309.     PORT_DIPSETTING(    0x40, DEF_STR( 1C_3C ) )
  3310.     PORT_DIPSETTING(    0x80, DEF_STR( 1C_4C ) )
  3311.     PORT_DIPSETTING(    0xc0, DEF_STR( 1C_6C ) )
  3312.  
  3313.     PORT_START
  3314.     PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
  3315.     PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  3316.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3317.     PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
  3318.     PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  3319.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3320.     PORT_DIPNAME( 0x0c, 0x08, "Game Mode" )
  3321.     PORT_DIPSETTING(    0x0c, "Demo Sound Off" )
  3322.     PORT_DIPSETTING(    0x08, "Demo Sound On" )
  3323.     PORT_DIPSETTING(    0x00, "Freeze" )
  3324.     PORT_BITX( 0,       0x04, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Never Finish?", IP_KEY_NONE, IP_JOY_NONE )
  3325.     PORT_DIPNAME( 0x70, 0x70, "Play Time" )
  3326.     PORT_DIPSETTING(    0x70, "1:00" )
  3327.     PORT_DIPSETTING(    0x60, "1:10" )
  3328.     PORT_DIPSETTING(    0x50, "1:20" )
  3329.     PORT_DIPSETTING(    0x40, "1:30" )
  3330.     PORT_DIPSETTING(    0x30, "1:40" )
  3331.     PORT_DIPSETTING(    0x20, "1:50" )
  3332.     PORT_DIPSETTING(    0x10, "2:00" )
  3333.     PORT_DIPSETTING(    0x00, "2:10" )
  3334.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) )
  3335.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  3336.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  3337. INPUT_PORTS_END
  3338.  
  3339. /***********************************************************************/
  3340.  
  3341. /* input port configuration */
  3342.  
  3343. const SNK_INPUT_PORT_TYPE athena_io[SNK_MAX_INPUT_PORTS] = {
  3344.     /* c000 */ SNK_INP0,
  3345.     /* c100 */ SNK_INP1,    SNK_UNUSED,
  3346.     /* c200 */ SNK_INP2,    SNK_UNUSED,
  3347.     /* c300 */ SNK_UNUSED,    SNK_UNUSED,
  3348.     /* c400 */ SNK_UNUSED,    SNK_UNUSED,
  3349.     /* c500 */ SNK_INP3,    SNK_UNUSED,
  3350.     /* c600 */ SNK_INP4
  3351. };
  3352.  
  3353. const SNK_INPUT_PORT_TYPE ikari_io[SNK_MAX_INPUT_PORTS] = {
  3354.     /* c000 */ SNK_INP0,
  3355.     /* c100 */ SNK_ROT12_PLAYER1,    SNK_UNUSED,
  3356.     /* c200 */ SNK_ROT12_PLAYER2,    SNK_UNUSED,
  3357.     /* c300 */ SNK_INP3,            SNK_UNUSED,
  3358.     /* c400 */ SNK_UNUSED,            SNK_UNUSED,
  3359.     /* c500 */ SNK_INP4,            SNK_UNUSED,
  3360.     /* c600 */ SNK_INP5
  3361. };
  3362.  
  3363. const SNK_INPUT_PORT_TYPE ikarijpb_io[SNK_MAX_INPUT_PORTS] = {
  3364.     /* c000 */ SNK_INP0,
  3365.     /* c100 */ SNK_ROT8_PLAYER1,    SNK_UNUSED,
  3366.     /* c200 */ SNK_ROT8_PLAYER2,    SNK_UNUSED,
  3367.     /* c300 */ SNK_INP3,            SNK_UNUSED,
  3368.     /* c400 */ SNK_UNUSED,            SNK_UNUSED,
  3369.     /* c500 */ SNK_INP4,            SNK_UNUSED,
  3370.     /* c600 */ SNK_INP5
  3371. };
  3372.  
  3373. const SNK_INPUT_PORT_TYPE tdfever_io[SNK_MAX_INPUT_PORTS] = {
  3374.     /* c000 */ SNK_INP0,
  3375.     /* c100 */ SNK_INP1, SNK_INP2, SNK_INP3, SNK_INP4, /* joy1..joy4 */
  3376.     /* c300 */ SNK_INP5, SNK_INP6, SNK_INP7, SNK_INP8, /* aim1..aim4 */
  3377.     /* c500 */ SNK_UNUSED,
  3378.     /* c580 */ SNK_INP9,    /* DSW1 */
  3379.     /* c600 */ SNK_INP10    /* DSW2 */
  3380. };
  3381.  
  3382. static void init_ikari(void){
  3383.     unsigned char *RAM = memory_region(REGION_CPU1);
  3384.     /*  Hack ROM test */
  3385.     RAM[0x11a6] = 0x00;
  3386.     RAM[0x11a7] = 0x00;
  3387.     RAM[0x11a8] = 0x00;
  3388.  
  3389.     /* Hack Incorrect port value */
  3390.     RAM[0x1003] = 0xc3;
  3391.     RAM[0x1004] = 0x02;
  3392.     RAM[0x1005] = 0x10;
  3393.  
  3394.     snk_sound_busy_bit = 0x01;
  3395.     snk_io = ikari_io;
  3396.     hard_flags = 1;
  3397.     gwar_sprite_placement=0;
  3398.     snk_bg_tilemap_baseaddr = 0xd800;
  3399. }
  3400.  
  3401. static void init_ikarijp(void){
  3402.     unsigned char *RAM = memory_region(REGION_CPU1);
  3403.     RAM[0x190b] = 0xc9; /* faster test */
  3404.  
  3405.     snk_sound_busy_bit = 0x20;
  3406.     snk_io = ikari_io;
  3407.     hard_flags = 1;
  3408.     gwar_sprite_placement=0;
  3409.     snk_bg_tilemap_baseaddr = 0xd000;
  3410. }
  3411.  
  3412. static void init_ikarijpb(void){
  3413.     unsigned char *RAM = memory_region(REGION_CPU1);
  3414.     RAM[0x190b] = 0xc9; /* faster test */
  3415.  
  3416.     snk_sound_busy_bit = 0x20;
  3417.     snk_io = ikarijpb_io;
  3418.     hard_flags = 1;
  3419.     gwar_sprite_placement=0;
  3420.     snk_bg_tilemap_baseaddr = 0xd000;
  3421. }
  3422.  
  3423. static void init_victroad(void){
  3424.     unsigned char *RAM = memory_region(REGION_CPU1);
  3425.     /* Hack ROM test */
  3426.     RAM[0x17bd] = 0x00;
  3427.     RAM[0x17be] = 0x00;
  3428.     RAM[0x17bf] = 0x00;
  3429.  
  3430.     /* Hack Incorrect port value */
  3431.     RAM[0x161a] = 0xc3;
  3432.     RAM[0x161b] = 0x19;
  3433.     RAM[0x161c] = 0x16;
  3434.  
  3435.     snk_sound_busy_bit = 0x01;
  3436.     snk_io = ikari_io;
  3437.     hard_flags = 1;
  3438.     gwar_sprite_placement=0;
  3439.     snk_bg_tilemap_baseaddr = 0xd800;
  3440. }
  3441.  
  3442. static void init_dogosoke(void){
  3443.     unsigned char *RAM = memory_region(REGION_CPU1);
  3444.     /* Hack ROM test */
  3445.     RAM[0x179f] = 0x00;
  3446.     RAM[0x17a0] = 0x00;
  3447.     RAM[0x17a1] = 0x00;
  3448.  
  3449.     /* Hack Incorrect port value */
  3450.     RAM[0x15fc] = 0xc3;
  3451.     RAM[0x15fd] = 0xfb;
  3452.     RAM[0x15fe] = 0x15;
  3453.  
  3454.     snk_sound_busy_bit = 0x01;
  3455.     snk_io = ikari_io;
  3456.     hard_flags = 1;
  3457.     gwar_sprite_placement=0;
  3458.     snk_bg_tilemap_baseaddr = 0xd800;
  3459. }
  3460.  
  3461. static void init_gwar(void){
  3462.     snk_sound_busy_bit = 0x01;
  3463.     snk_io = ikari_io;
  3464.     hard_flags = 0;
  3465.     gwar_sprite_placement=1;
  3466.     snk_bg_tilemap_baseaddr = 0xd800;
  3467. }
  3468.  
  3469. static void init_gwara(void){
  3470.     snk_sound_busy_bit = 0x01;
  3471.     snk_io = ikari_io;
  3472.     hard_flags = 0;
  3473.     gwar_sprite_placement=2;
  3474.     snk_bg_tilemap_baseaddr = 0xd800;
  3475. }
  3476.  
  3477. static void init_chopper(void){
  3478.     snk_sound_busy_bit = 0x01;
  3479.     snk_io = athena_io;
  3480.     hard_flags = 0;
  3481.     gwar_sprite_placement=0;
  3482.     snk_bg_tilemap_baseaddr = 0xd800;
  3483. }
  3484.  
  3485. static void init_bermudat(void){
  3486.     unsigned char *RAM = memory_region(REGION_CPU1);
  3487.  
  3488.     // Patch "Turbo Error"
  3489.     RAM[0x127e] = 0xc9;
  3490.     RAM[0x118d] = 0x00;
  3491.     RAM[0x118e] = 0x00;
  3492.  
  3493.     snk_sound_busy_bit = 0x01;
  3494.     snk_io = ikari_io;
  3495.     hard_flags = 0;
  3496.     gwar_sprite_placement=0;
  3497.     snk_bg_tilemap_baseaddr = 0xd800;
  3498. }
  3499.  
  3500. static void init_worldwar(void){
  3501.     snk_sound_busy_bit = 0x01;
  3502.     snk_io = ikari_io;
  3503.     hard_flags = 0;
  3504.     gwar_sprite_placement=0;
  3505.     snk_bg_tilemap_baseaddr = 0xd800;
  3506. }
  3507.  
  3508. static void init_tdfever( void ){
  3509.     snk_sound_busy_bit = 0x08;
  3510.     snk_io = tdfever_io;
  3511.     hard_flags = 0;
  3512.     gwar_sprite_placement=0;
  3513.     snk_bg_tilemap_baseaddr = 0xd800;
  3514. }
  3515.  
  3516. static void init_ftsoccer( void ){
  3517.     snk_sound_busy_bit = 0x08;
  3518.     snk_io = tdfever_io;
  3519.     hard_flags = 0;
  3520.     gwar_sprite_placement=0;
  3521.     snk_bg_tilemap_baseaddr = 0xd800;
  3522. }
  3523.  
  3524. static void init_tnk3( void ){
  3525.     snk_sound_busy_bit = 0x20;
  3526.     snk_io = ikari_io;
  3527.     hard_flags = 0;
  3528.     gwar_sprite_placement=0;
  3529.     snk_bg_tilemap_baseaddr = 0xd800;
  3530. }
  3531.  
  3532. static void init_athena( void ){
  3533.     snk_sound_busy_bit = 0x01;
  3534.     snk_io = athena_io;
  3535.     hard_flags = 0;
  3536.     gwar_sprite_placement=0;
  3537.     snk_bg_tilemap_baseaddr = 0xd800;
  3538. }
  3539.  
  3540. static void init_fitegolf( void ){
  3541.     snk_sound_busy_bit = 0x01;
  3542.     snk_io = athena_io;
  3543.     hard_flags = 0;
  3544.     gwar_sprite_placement=0;
  3545.     snk_bg_tilemap_baseaddr = 0xd800;
  3546. }
  3547.  
  3548. static void init_psychos( void ){
  3549.     snk_sound_busy_bit = 0x01;
  3550.     snk_io = athena_io;
  3551.     hard_flags = 0;
  3552.     gwar_sprite_placement=0;
  3553.     snk_bg_tilemap_baseaddr = 0xd800;
  3554. }
  3555.  
  3556. /*          rom       parent    machine   inp       init */
  3557. GAMEX( 1985, tnk3,     0,        tnk3,     tnk3,     tnk3,     ROT270,       "SNK", "TNK III (US?)", GAME_NO_COCKTAIL )
  3558. GAMEX( 1985, tnk3j,    tnk3,     tnk3,     tnk3,     tnk3,     ROT270,       "SNK", "Tank (Japan)", GAME_NO_COCKTAIL )
  3559. GAMEX( 1986, athena,   0,        athena,   athena,   athena,   ROT0_16BIT,   "SNK", "Athena", GAME_NO_COCKTAIL )
  3560. GAMEX( 1988, fitegolf, 0,        athena,   fitegolf, fitegolf, ROT0,         "SNK", "Fighting Golf", GAME_NO_COCKTAIL )
  3561. GAMEX( 1986, ikari,    0,        ikari,    ikari,    ikari,    ROT270,       "SNK", "Ikari Warriors (US)", GAME_NO_COCKTAIL )
  3562. GAMEX( 1986, ikarijp,  ikari,    ikari,    ikarijp,  ikarijp,  ROT270,       "SNK", "Ikari Warriors (Japan)", GAME_NO_COCKTAIL )
  3563. GAMEX( 1986, ikarijpb, ikari,    ikari,    ikarijp,  ikarijpb, ROT270,       "bootleg", "Ikari Warriors (Japan bootleg)", GAME_NO_COCKTAIL )
  3564. GAMEX( 1986, victroad, 0,        victroad, victroad, victroad, ROT270,       "SNK", "Victory Road", GAME_NO_COCKTAIL )
  3565. GAMEX( 1986, dogosoke, victroad, victroad, victroad, dogosoke, ROT270,       "SNK", "Dogou Souken", GAME_NO_COCKTAIL )
  3566. GAMEX( 1987, gwar,     0,        gwar,     gwar,     gwar,     ROT270,       "SNK", "Guerrilla War (US)", GAME_NO_COCKTAIL )
  3567. GAMEX( 1987, gwarj,    gwar,     gwar,     gwar,     gwar,     ROT270,       "SNK", "Guevara (Japan)", GAME_NO_COCKTAIL )
  3568. GAMEX( 1987, gwara,    gwar,     gwar,     gwar,     gwara,    ROT270,       "SNK", "Guerrilla War (Version 1)", GAME_NOT_WORKING | GAME_NO_COCKTAIL )
  3569. GAMEX( 1987, gwarb,    gwar,     gwar,     gwar,     gwar,     ROT270,       "bootleg", "Guerrilla War (bootleg)", GAME_NO_COCKTAIL )
  3570. GAMEX( 1987, bermudat, 0,        bermudat, bermudat, bermudat, ROT270_16BIT, "SNK", "Bermuda Triangle (US)", GAME_NO_COCKTAIL )
  3571. GAMEX( 1987, bermudaj, bermudat, bermudat, bermudat, bermudat, ROT270_16BIT, "SNK", "Bermuda Triangle (Japan)", GAME_NO_COCKTAIL )
  3572. GAMEX( 1987, bermudaa, bermudat, bermudat, bermudaa, worldwar, ROT270_16BIT, "SNK", "Bermuda Triangle (US early version)", GAME_NO_COCKTAIL )
  3573. GAMEX( 1987, worldwar, bermudat, bermudat, worldwar, worldwar, ROT270_16BIT, "SNK", "World Wars (Japan)", GAME_NO_COCKTAIL )
  3574. GAMEX( 1987, psychos,  0,        psychos,  psychos,  psychos,  ROT0_16BIT,   "SNK", "Psycho Soldier (US)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
  3575. GAMEX( 1987, psychosj, psychos,  psychos,  psychos,  psychos,  ROT0_16BIT,   "SNK", "Psycho Soldier (Japan)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
  3576. GAMEX( 1988, chopper,  0,        chopper1, legofair, chopper,  ROT270_16BIT, "SNK", "Chopper I", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
  3577. GAMEX( 1988, legofair, chopper,  chopper1, legofair, chopper,  ROT270_16BIT, "SNK", "Koukuu Kihei Monogatari - The Legend of Air Cavalry", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
  3578. GAMEX( 1987, tdfever,  0,        tdfever,  tdfever,  tdfever,  ROT270,       "SNK", "TouchDown Fever", GAME_NO_COCKTAIL )
  3579. GAMEX( 1987, tdfeverj, tdfever,  tdfever,  tdfever,  tdfever,  ROT270,       "SNK", "TouchDown Fever (Japan)", GAME_NO_COCKTAIL )
  3580. GAMEX( 1988, ftsoccer, 0,        ftsoccer, ftsoccer, ftsoccer, ROT0_16BIT,   "SNK", "Fighting Soccer", GAME_NO_COCKTAIL )
  3581.